diff --git a/plc4go/protocols/bacnetip/readwrite/ParserHelper.go b/plc4go/protocols/bacnetip/readwrite/ParserHelper.go index ff36f50cb20..a8a7fe6c4bf 100644 --- a/plc4go/protocols/bacnetip/readwrite/ParserHelper.go +++ b/plc4go/protocols/bacnetip/readwrite/ParserHelper.go @@ -59,6 +59,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return nil, errors.Wrap(err, "Error parsing") } return BACnetOpeningTagParseWithBuffer(context.Background(), io, tagNumberArgument) + case "NetworkPort": + return NetworkPortParseWithBuffer(context.Background(), io) case "BACnetPriorityArray": objectTypeArgument, _ := BACnetObjectTypeByName(arguments[0]) tagNumber, err := utils.StrToUint8(arguments[1]) @@ -113,6 +115,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return nil, errors.Wrap(err, "Error parsing") } return BACnetConfirmedServiceRequestGetEnrollmentSummaryPriorityFilterParseWithBuffer(context.Background(), io, tagNumber) + case "LifeSafetyZone": + return LifeSafetyZoneParseWithBuffer(context.Background(), io) case "BACnetTimeValue": return BACnetTimeValueParseWithBuffer(context.Background(), io) case "BACnetTagPayloadOctetString": @@ -149,6 +153,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetTimerStateTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "NotificationClass": + return NotificationClassParseWithBuffer(context.Background(), io) case "BACnetDateRangeEnclosed": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -194,6 +200,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } objectTypeArgument, _ := BACnetObjectTypeByName(arguments[1]) return BACnetReadAccessResultListOfResultsParseWithBuffer(context.Background(), io, tagNumber, objectTypeArgument) + case "EventEnrollment": + return EventEnrollmentParseWithBuffer(context.Background(), io) case "BACnetRouterEntryStatusTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -293,6 +301,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return nil, errors.Wrap(err, "Error parsing") } return BACnetRecipientEnclosedParseWithBuffer(context.Background(), io, tagNumber) + case "CredentialDataInput": + return CredentialDataInputParseWithBuffer(context.Background(), io) case "BACnetConfirmedServiceRequest": serviceRequestLength, err := utils.StrToUint32(arguments[0]) if err != nil { @@ -318,6 +328,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetAccessUserTypeTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "Averaging": + return AveragingParseWithBuffer(context.Background(), io) case "BACnetRestartReasonTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -389,6 +401,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetAccumulatorRecordParseWithBuffer(context.Background(), io) case "BACnetDailySchedule": return BACnetDailyScheduleParseWithBuffer(context.Background(), io) + case "File": + return FileParseWithBuffer(context.Background(), io) case "BACnetLogDataLogDataEntry": return BACnetLogDataLogDataEntryParseWithBuffer[BACnetLogDataLogDataEntry](context.Background(), io) case "BACnetOptionalBinaryPV": @@ -416,6 +430,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetAuthenticationPolicyParseWithBuffer(context.Background(), io) case "BACnetPropertyAccessResult": return BACnetPropertyAccessResultParseWithBuffer(context.Background(), io) + case "MultistateValue": + return MultistateValueParseWithBuffer(context.Background(), io) case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsList": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -442,6 +458,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetDoorSecuredStatusTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "EventLog": + return EventLogParseWithBuffer(context.Background(), io) case "ErrorClassTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -485,6 +503,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return nil, errors.Wrap(err, "Error parsing") } return BACnetNotificationParametersChangeOfDiscreteValueNewValueParseWithBuffer[BACnetNotificationParametersChangeOfDiscreteValueNewValue](context.Background(), io, tagNumber) + case "Group": + return GroupParseWithBuffer(context.Background(), io) case "BACnetReadAccessPropertyReadResult": objectTypeArgument, _ := BACnetObjectTypeByName(arguments[0]) propertyIdentifierArgument, _ := BACnetPropertyIdentifierByName(arguments[1]) @@ -494,6 +514,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetActionCommandParseWithBuffer(context.Background(), io) case "BACnetFaultParameterFaultExtendedParametersEntry": return BACnetFaultParameterFaultExtendedParametersEntryParseWithBuffer[BACnetFaultParameterFaultExtendedParametersEntry](context.Background(), io) + case "PulseConverter": + return PulseConverterParseWithBuffer(context.Background(), io) case "BACnetTagPayloadDate": return BACnetTagPayloadDateParseWithBuffer(context.Background(), io) case "BACnetConfirmedServiceRequestGetEnrollmentSummaryAcknowledgementFilterTagged": @@ -518,6 +540,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util case "BACnetReadAccessProperty": objectTypeArgument, _ := BACnetObjectTypeByName(arguments[0]) return BACnetReadAccessPropertyParseWithBuffer(context.Background(), io, objectTypeArgument) + case "LightingOutput": + return LightingOutputParseWithBuffer(context.Background(), io) case "BACnetLifeSafetyOperationTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -532,6 +556,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetWeekNDayTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "StructuredView": + return StructuredViewParseWithBuffer(context.Background(), io) case "BACnetEventTransitionBitsTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -545,6 +571,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return nil, errors.Wrap(err, "Error parsing") } return BACnetLogDataParseWithBuffer[BACnetLogData](context.Background(), io, tagNumber) + case "TrendLog": + return TrendLogParseWithBuffer(context.Background(), io) case "BACnetFaultParameterFaultCharacterStringListOfFaultValues": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -598,12 +626,16 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetLifeSafetyStateTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) case "BACnetVTSession": return BACnetVTSessionParseWithBuffer(context.Background(), io) + case "Accumulator": + return AccumulatorParseWithBuffer(context.Background(), io) case "BACnetEventTimestampsEnclosed": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { return nil, errors.Wrap(err, "Error parsing") } return BACnetEventTimestampsEnclosedParseWithBuffer(context.Background(), io, tagNumber) + case "CharacterStringValue": + return CharacterStringValueParseWithBuffer(context.Background(), io) case "BACnetSecurityLevelTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -617,6 +649,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return nil, errors.Wrap(err, "Error parsing") } return BACnetLogRecordLogDatumParseWithBuffer[BACnetLogRecordLogDatum](context.Background(), io, tagNumber) + case "Loop": + return LoopParseWithBuffer(context.Background(), io) case "BACnetDateTimeEnclosed": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -639,6 +673,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetProgramRequestTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "Lift": + return LiftParseWithBuffer(context.Background(), io) case "BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -646,6 +682,10 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "AccessRights": + return AccessRightsParseWithBuffer(context.Background(), io) + case "AlertEnrollment": + return AlertEnrollmentParseWithBuffer(context.Background(), io) case "BACnetDateRange": return BACnetDateRangeParseWithBuffer(context.Background(), io) case "BACnetEventParameter": @@ -657,6 +697,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetLiftFaultTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "BinaryOutput": + return BinaryOutputParseWithBuffer(context.Background(), io) case "BACnetPropertyStatesEnclosed": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -712,6 +754,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return nil, errors.Wrap(err, "Error parsing") } return BACnetEventParameterChangeOfLifeSavetyListOfAlarmValuesParseWithBuffer(context.Background(), io, tagNumber) + case "AccessPoint": + return AccessPointParseWithBuffer(context.Background(), io) case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReference": return BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReferenceParseWithBuffer(context.Background(), io) case "BACnetApplicationTag": @@ -753,6 +797,10 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetRelationshipTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "Device": + return DeviceParseWithBuffer(context.Background(), io) + case "Channel": + return ChannelParseWithBuffer(context.Background(), io) case "BACnetRecipientProcessEnclosed": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -763,6 +811,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetAccessRuleParseWithBuffer(context.Background(), io) case "BACnetHostNPort": return BACnetHostNPortParseWithBuffer(context.Background(), io) + case "NotificationForwarder": + return NotificationForwarderParseWithBuffer(context.Background(), io) case "BACnetShedStateTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -790,6 +840,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetAccessCredentialDisableTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "BinaryLightingOutput": + return BinaryLightingOutputParseWithBuffer(context.Background(), io) case "BACnetLiftCarCallList": return BACnetLiftCarCallListParseWithBuffer(context.Background(), io) case "BACnetLightingTransitionTagged": @@ -803,6 +855,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return NLMUpdateKeyUpdateControlFlagsParseWithBuffer(context.Background(), io) case "BACnetAssignedLandingCalls": return BACnetAssignedLandingCallsParseWithBuffer(context.Background(), io) + case "Timer": + return TimerParseWithBuffer(context.Background(), io) case "BACnetNotifyTypeTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -810,6 +864,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetNotifyTypeTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "DateTimePatternValue": + return DateTimePatternValueParseWithBuffer(context.Background(), io) case "BACnetAuthorizationExemptionTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -844,6 +900,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetAccessAuthenticationFactorDisableTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "BinaryInput": + return BinaryInputParseWithBuffer(context.Background(), io) case "BACnetAuthorizationModeTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -858,6 +916,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetConfirmedServiceRequestConfirmedTextMessageMessagePriorityTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "DatePatternValue": + return DatePatternValueParseWithBuffer(context.Background(), io) case "BACnetDoorStatusTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -874,12 +934,16 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetVendorIdTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) case "BACnetEventTimestamps": return BACnetEventTimestampsParseWithBuffer(context.Background(), io) + case "PositiveIntegerValue": + return PositiveIntegerValueParseWithBuffer(context.Background(), io) case "BACnetNameValueCollection": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { return nil, errors.Wrap(err, "Error parsing") } return BACnetNameValueCollectionParseWithBuffer(context.Background(), io, tagNumber) + case "TrendLogMultiple": + return TrendLogMultipleParseWithBuffer(context.Background(), io) case "BACnetTagPayloadEnumerated": actualLength, err := utils.StrToUint32(arguments[0]) if err != nil { @@ -918,6 +982,12 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetRecipientProcessParseWithBuffer(context.Background(), io) case "BACnetReadAccessSpecification": return BACnetReadAccessSpecificationParseWithBuffer(context.Background(), io) + case "OptionalProperty": + bacType, err := utils.StrToString(arguments[0]) + if err != nil { + return nil, errors.Wrap(err, "Error parsing") + } + return OptionalPropertyParseWithBuffer(context.Background(), io, bacType) case "BACnetAuthenticationPolicyList": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -934,6 +1004,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetLiftCarCallListFloorListParseWithBuffer(context.Background(), io, tagNumber) case "BACnetAccessThreatLevel": return BACnetAccessThreatLevelParseWithBuffer(context.Background(), io) + case "DateTimeValue": + return DateTimeValueParseWithBuffer(context.Background(), io) case "BACnetCalendarEntryEnclosed": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -966,8 +1038,12 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetSecurityPolicyTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) case "BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord": return BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordParseWithBuffer[BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord](context.Background(), io) + case "Escalator": + return EscalatorParseWithBuffer(context.Background(), io) case "BVLC": return BVLCParseWithBuffer[BVLC](context.Background(), io) + case "ElevatorGroup": + return ElevatorGroupParseWithBuffer(context.Background(), io) case "ConfirmedEventNotificationRequest": return ConfirmedEventNotificationRequestParseWithBuffer(context.Background(), io) case "BACnetLandingDoorStatusLandingDoorsListEntry": @@ -979,6 +1055,10 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetLiftCarDirectionTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "LoadControl": + return LoadControlParseWithBuffer(context.Background(), io) + case "IntegerValue": + return IntegerValueParseWithBuffer(context.Background(), io) case "BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -987,13 +1067,23 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetConfirmedServiceRequestConfirmedTextMessageMessageClassParseWithBuffer[BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass](context.Background(), io, tagNumber) case "BACnetAddressBinding": return BACnetAddressBindingParseWithBuffer(context.Background(), io) + case "Command": + return CommandParseWithBuffer(context.Background(), io) + case "BitStringValue": + return BitStringValueParseWithBuffer(context.Background(), io) case "BACnetLandingCallStatusCommand": return BACnetLandingCallStatusCommandParseWithBuffer[BACnetLandingCallStatusCommand](context.Background(), io) + case "Schedule": + return ScheduleParseWithBuffer(context.Background(), io) case "ListOfCovNotificationsValue": objectTypeArgument, _ := BACnetObjectTypeByName(arguments[0]) return ListOfCovNotificationsValueParseWithBuffer(context.Background(), io, objectTypeArgument) case "BACnetLandingCallStatus": return BACnetLandingCallStatusParseWithBuffer(context.Background(), io) + case "MultistateOutput": + return MultistateOutputParseWithBuffer(context.Background(), io) + case "AccessCredential": + return AccessCredentialParseWithBuffer(context.Background(), io) case "BACnetEventParameterChangeOfStateListOfValues": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1017,6 +1107,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetOptionalUnsignedParseWithBuffer[BACnetOptionalUnsigned](context.Background(), io) case "BACnetHostAddress": return BACnetHostAddressParseWithBuffer[BACnetHostAddress](context.Background(), io) + case "AnalogValue": + return AnalogValueParseWithBuffer(context.Background(), io) case "ListOfCovNotificationsList": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1036,6 +1128,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetVTClassTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "BinaryValue": + return BinaryValueParseWithBuffer(context.Background(), io) case "BACnetDeviceObjectPropertyReference": return BACnetDeviceObjectPropertyReferenceParseWithBuffer(context.Background(), io) case "BACnetConfirmedServiceRequestDeviceCommunicationControlEnableDisableTagged": @@ -1053,6 +1147,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return nil, errors.Wrap(err, "Error parsing") } return BACnetAssignedLandingCallsLandingCallsListParseWithBuffer(context.Background(), io, tagNumber) + case "AccessZone": + return AccessZoneParseWithBuffer(context.Background(), io) case "BACnetTagPayloadDouble": return BACnetTagPayloadDoubleParseWithBuffer(context.Background(), io) case "BACnetAccumulatorRecordAccumulatorStatusTagged": @@ -1067,6 +1163,14 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetTimerStateChangeValueParseWithBuffer[BACnetTimerStateChangeValue](context.Background(), io, objectTypeArgument) case "BACnetSpecialEventPeriod": return BACnetSpecialEventPeriodParseWithBuffer[BACnetSpecialEventPeriod](context.Background(), io) + case "WritableProperty": + bacType, err := utils.StrToString(arguments[0]) + if err != nil { + return nil, errors.Wrap(err, "Error parsing") + } + return WritablePropertyParseWithBuffer(context.Background(), io, bacType) + case "AccessUser": + return AccessUserParseWithBuffer(context.Background(), io) case "BACnetKeyIdentifier": return BACnetKeyIdentifierParseWithBuffer(context.Background(), io) case "BACnetNetworkNumberQualityTagged": @@ -1076,6 +1180,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetNetworkNumberQualityTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "OctetStringValue": + return OctetStringValueParseWithBuffer(context.Background(), io) case "BACnetLogStatusTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1098,8 +1204,12 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetProgramErrorTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) case "Error": return ErrorParseWithBuffer(context.Background(), io) + case "AccessDoor": + return AccessDoorParseWithBuffer(context.Background(), io) case "BACnetPropertyReference": return BACnetPropertyReferenceParseWithBuffer(context.Background(), io) + case "AnalogOutput": + return AnalogOutputParseWithBuffer(context.Background(), io) case "BACnetContextTag": tagNumberArgument, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1132,6 +1242,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util case "BACnetPriorityValue": objectTypeArgument, _ := BACnetObjectTypeByName(arguments[0]) return BACnetPriorityValueParseWithBuffer[BACnetPriorityValue](context.Background(), io, objectTypeArgument) + case "TimePatternValue": + return TimePatternValueParseWithBuffer(context.Background(), io) case "BACnetLogRecord": return BACnetLogRecordParseWithBuffer(context.Background(), io) case "BACnetCalendarEntry": @@ -1171,6 +1283,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util } tagClass, _ := TagClassByName(arguments[1]) return BACnetReliabilityTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) + case "DateValue": + return DateValueParseWithBuffer(context.Background(), io) case "BACnetDoorValueTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1180,12 +1294,16 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetDoorValueTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) case "BACnetScale": return BACnetScaleParseWithBuffer[BACnetScale](context.Background(), io) + case "NetworkSecurity": + return NetworkSecurityParseWithBuffer(context.Background(), io) case "BACnetNotificationParametersChangeOfValueNewValue": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { return nil, errors.Wrap(err, "Error parsing") } return BACnetNotificationParametersChangeOfValueNewValueParseWithBuffer[BACnetNotificationParametersChangeOfValueNewValue](context.Background(), io, tagNumber) + case "Calendar": + return CalendarParseWithBuffer(context.Background(), io) case "ErrorCodeTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1224,6 +1342,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetEventTypeTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) case "BACnetObjectPropertyReference": return BACnetObjectPropertyReferenceParseWithBuffer(context.Background(), io) + case "Program": + return ProgramParseWithBuffer(context.Background(), io) case "BACnetBinaryLightingPVTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1243,6 +1363,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetAuthenticationFactorEnclosedParseWithBuffer(context.Background(), io, tagNumber) case "BACnetEventSummary": return BACnetEventSummaryParseWithBuffer(context.Background(), io) + case "AnalogInput": + return AnalogInputParseWithBuffer(context.Background(), io) case "BACnetAccessZoneOccupancyStateTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1284,6 +1406,12 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetPropertyWriteDefinitionParseWithBuffer(context.Background(), io, objectTypeArgument) case "BACnetEventLogRecord": return BACnetEventLogRecordParseWithBuffer(context.Background(), io) + case "ReadableProperty": + bacType, err := utils.StrToString(arguments[0]) + if err != nil { + return nil, errors.Wrap(err, "Error parsing") + } + return ReadablePropertyParseWithBuffer(context.Background(), io, bacType) case "BACnetBinaryPVTagged": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1349,6 +1477,8 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetTimeStampsEnclosedParseWithBuffer(context.Background(), io, tagNumber) case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntry": return BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryParseWithBuffer(context.Background(), io) + case "LargeAnalogValue": + return LargeAnalogValueParseWithBuffer(context.Background(), io) case "BACnetHostAddressEnclosed": tagNumber, err := utils.StrToUint8(arguments[0]) if err != nil { @@ -1383,8 +1513,12 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return BACnetProtocolLevelTaggedParseWithBuffer(context.Background(), io, tagNumber, tagClass) case "BACnetCOVMultipleSubscription": return BACnetCOVMultipleSubscriptionParseWithBuffer(context.Background(), io) + case "GlobalGroup": + return GlobalGroupParseWithBuffer(context.Background(), io) case "BACnetActionList": return BACnetActionListParseWithBuffer(context.Background(), io) + case "TimeValue": + return TimeValueParseWithBuffer(context.Background(), io) case "BACnetLightingCommand": return BACnetLightingCommandParseWithBuffer(context.Background(), io) case "SubscribeCOVPropertyMultipleErrorFirstFailedSubscription": @@ -1395,6 +1529,10 @@ func (m BacnetipParserHelper) Parse(typeName string, arguments []string, io util return SubscribeCOVPropertyMultipleErrorFirstFailedSubscriptionParseWithBuffer(context.Background(), io, tagNumber) case "BACnetAuthenticationFactor": return BACnetAuthenticationFactorParseWithBuffer(context.Background(), io) + case "MultistateInput": + return MultistateInputParseWithBuffer(context.Background(), io) + case "LifeSafetyPoint": + return LifeSafetyPointParseWithBuffer(context.Background(), io) case "BACnetWriteAccessSpecification": return BACnetWriteAccessSpecificationParseWithBuffer(context.Background(), io) case "BACnetLightingCommandEnclosed": diff --git a/plc4go/protocols/bacnetip/readwrite/XmlParserHelper.go b/plc4go/protocols/bacnetip/readwrite/XmlParserHelper.go index e6275e708f4..bdd4726c069 100644 --- a/plc4go/protocols/bacnetip/readwrite/XmlParserHelper.go +++ b/plc4go/protocols/bacnetip/readwrite/XmlParserHelper.go @@ -72,6 +72,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumberArgument := uint8(parsedUint0) return BACnetOpeningTagParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumberArgument) + case "NetworkPort": + return NetworkPortParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetPriorityArray": objectTypeArgument, _ := BACnetObjectTypeByName(parserArguments[0]) parsedUint1, err := strconv.ParseUint(parserArguments[1], 10, 8) @@ -134,6 +136,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetConfirmedServiceRequestGetEnrollmentSummaryPriorityFilterParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "LifeSafetyZone": + return LifeSafetyZoneParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetTimeValue": return BACnetTimeValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetTagPayloadOctetString": @@ -175,6 +179,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetTimerStateTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "NotificationClass": + return NotificationClassParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetDateRangeEnclosed": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -227,6 +233,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) objectTypeArgument, _ := BACnetObjectTypeByName(parserArguments[1]) return BACnetReadAccessResultListOfResultsParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, objectTypeArgument) + case "EventEnrollment": + return EventEnrollmentParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetRouterEntryStatusTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -339,6 +347,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetRecipientEnclosedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "CredentialDataInput": + return CredentialDataInputParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetConfirmedServiceRequest": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32) if err != nil { @@ -368,6 +378,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetAccessUserTypeTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "Averaging": + return AveragingParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetRestartReasonTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -448,6 +460,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetAccumulatorRecordParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetDailySchedule": return BACnetDailyScheduleParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "File": + return FileParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLogDataLogDataEntry": return BACnetLogDataLogDataEntryParseWithBuffer[BACnetLogDataLogDataEntry](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetOptionalBinaryPV": @@ -477,6 +491,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetAuthenticationPolicyParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetPropertyAccessResult": return BACnetPropertyAccessResultParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "MultistateValue": + return MultistateValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsList": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -507,6 +523,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetDoorSecuredStatusTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "EventLog": + return EventLogParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "ErrorClassTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -556,6 +574,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetNotificationParametersChangeOfDiscreteValueNewValueParseWithBuffer[BACnetNotificationParametersChangeOfDiscreteValueNewValue](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "Group": + return GroupParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetReadAccessPropertyReadResult": objectTypeArgument, _ := BACnetObjectTypeByName(parserArguments[0]) propertyIdentifierArgument, _ := BACnetPropertyIdentifierByName(parserArguments[1]) @@ -566,6 +586,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetActionCommandParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetFaultParameterFaultExtendedParametersEntry": return BACnetFaultParameterFaultExtendedParametersEntryParseWithBuffer[BACnetFaultParameterFaultExtendedParametersEntry](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "PulseConverter": + return PulseConverterParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetTagPayloadDate": return BACnetTagPayloadDateParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetConfirmedServiceRequestGetEnrollmentSummaryAcknowledgementFilterTagged": @@ -593,6 +615,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser case "BACnetReadAccessProperty": objectTypeArgument, _ := BACnetObjectTypeByName(parserArguments[0]) return BACnetReadAccessPropertyParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument) + case "LightingOutput": + return LightingOutputParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLifeSafetyOperationTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -609,6 +633,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetWeekNDayTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "StructuredView": + return StructuredViewParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetEventTransitionBitsTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -624,6 +650,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetLogDataParseWithBuffer[BACnetLogData](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "TrendLog": + return TrendLogParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetFaultParameterFaultCharacterStringListOfFaultValues": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -684,6 +712,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetLifeSafetyStateTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) case "BACnetVTSession": return BACnetVTSessionParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "Accumulator": + return AccumulatorParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetEventTimestampsEnclosed": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -691,6 +721,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetEventTimestampsEnclosedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "CharacterStringValue": + return CharacterStringValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetSecurityLevelTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -706,6 +738,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetLogRecordLogDatumParseWithBuffer[BACnetLogRecordLogDatum](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "Loop": + return LoopParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetDateTimeEnclosed": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -731,6 +765,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetProgramRequestTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "Lift": + return LiftParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -739,6 +775,10 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetConfirmedServiceRequestGetEnrollmentSummaryEventStateFilterTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "AccessRights": + return AccessRightsParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "AlertEnrollment": + return AlertEnrollmentParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetDateRange": return BACnetDateRangeParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetEventParameter": @@ -751,6 +791,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetLiftFaultTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "BinaryOutput": + return BinaryOutputParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetPropertyStatesEnclosed": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -814,6 +856,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetEventParameterChangeOfLifeSavetyListOfAlarmValuesParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "AccessPoint": + return AccessPointParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReference": return BACnetConfirmedServiceRequestSubscribeCOVPropertyMultipleListOfCovSubscriptionSpecificationsReferenceParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetApplicationTag": @@ -859,6 +903,10 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetRelationshipTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "Device": + return DeviceParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "Channel": + return ChannelParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetRecipientProcessEnclosed": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -870,6 +918,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetAccessRuleParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetHostNPort": return BACnetHostNPortParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "NotificationForwarder": + return NotificationForwarderParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetShedStateTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -901,6 +951,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetAccessCredentialDisableTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "BinaryLightingOutput": + return BinaryLightingOutputParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLiftCarCallList": return BACnetLiftCarCallListParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLightingTransitionTagged": @@ -915,6 +967,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return NLMUpdateKeyUpdateControlFlagsParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetAssignedLandingCalls": return BACnetAssignedLandingCallsParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "Timer": + return TimerParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetNotifyTypeTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -923,6 +977,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetNotifyTypeTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "DateTimePatternValue": + return DateTimePatternValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetAuthorizationExemptionTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -962,6 +1018,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetAccessAuthenticationFactorDisableTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "BinaryInput": + return BinaryInputParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetAuthorizationModeTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -978,6 +1036,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetConfirmedServiceRequestConfirmedTextMessageMessagePriorityTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "DatePatternValue": + return DatePatternValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetDoorStatusTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -996,6 +1056,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetVendorIdTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) case "BACnetEventTimestamps": return BACnetEventTimestampsParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "PositiveIntegerValue": + return PositiveIntegerValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetNameValueCollection": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1003,6 +1065,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetNameValueCollectionParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "TrendLogMultiple": + return TrendLogMultipleParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetTagPayloadEnumerated": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 32) if err != nil { @@ -1046,6 +1110,10 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetRecipientProcessParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetReadAccessSpecification": return BACnetReadAccessSpecificationParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "OptionalProperty": + // TODO: find a way to parse the sub types + var bacType string + return OptionalPropertyParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), bacType) case "BACnetAuthenticationPolicyList": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1064,6 +1132,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetLiftCarCallListFloorListParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) case "BACnetAccessThreatLevel": return BACnetAccessThreatLevelParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "DateTimeValue": + return DateTimeValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetCalendarEntryEnclosed": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1100,8 +1170,12 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetSecurityPolicyTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) case "BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord": return BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecordParseWithBuffer[BACnetConfirmedServiceRequestAtomicReadFileStreamOrRecord](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "Escalator": + return EscalatorParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BVLC": return BVLCParseWithBuffer[BVLC](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "ElevatorGroup": + return ElevatorGroupParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "ConfirmedEventNotificationRequest": return ConfirmedEventNotificationRequestParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLandingDoorStatusLandingDoorsListEntry": @@ -1114,6 +1188,10 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetLiftCarDirectionTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "LoadControl": + return LoadControlParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "IntegerValue": + return IntegerValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1123,13 +1201,23 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetConfirmedServiceRequestConfirmedTextMessageMessageClassParseWithBuffer[BACnetConfirmedServiceRequestConfirmedTextMessageMessageClass](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) case "BACnetAddressBinding": return BACnetAddressBindingParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "Command": + return CommandParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "BitStringValue": + return BitStringValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLandingCallStatusCommand": return BACnetLandingCallStatusCommandParseWithBuffer[BACnetLandingCallStatusCommand](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "Schedule": + return ScheduleParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "ListOfCovNotificationsValue": objectTypeArgument, _ := BACnetObjectTypeByName(parserArguments[0]) return ListOfCovNotificationsValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument) case "BACnetLandingCallStatus": return BACnetLandingCallStatusParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "MultistateOutput": + return MultistateOutputParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "AccessCredential": + return AccessCredentialParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetEventParameterChangeOfStateListOfValues": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1155,6 +1243,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetOptionalUnsignedParseWithBuffer[BACnetOptionalUnsigned](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetHostAddress": return BACnetHostAddressParseWithBuffer[BACnetHostAddress](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "AnalogValue": + return AnalogValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "ListOfCovNotificationsList": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1177,6 +1267,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetVTClassTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "BinaryValue": + return BinaryValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetDeviceObjectPropertyReference": return BACnetDeviceObjectPropertyReferenceParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetConfirmedServiceRequestDeviceCommunicationControlEnableDisableTagged": @@ -1196,6 +1288,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetAssignedLandingCallsLandingCallsListParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "AccessZone": + return AccessZoneParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetTagPayloadDouble": return BACnetTagPayloadDoubleParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetAccumulatorRecordAccumulatorStatusTagged": @@ -1211,6 +1305,12 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetTimerStateChangeValueParseWithBuffer[BACnetTimerStateChangeValue](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument) case "BACnetSpecialEventPeriod": return BACnetSpecialEventPeriodParseWithBuffer[BACnetSpecialEventPeriod](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "WritableProperty": + // TODO: find a way to parse the sub types + var bacType string + return WritablePropertyParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), bacType) + case "AccessUser": + return AccessUserParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetKeyIdentifier": return BACnetKeyIdentifierParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetNetworkNumberQualityTagged": @@ -1221,6 +1321,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetNetworkNumberQualityTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "OctetStringValue": + return OctetStringValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLogStatusTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1246,8 +1348,12 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetProgramErrorTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) case "Error": return ErrorParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "AccessDoor": + return AccessDoorParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetPropertyReference": return BACnetPropertyReferenceParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "AnalogOutput": + return AnalogOutputParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetContextTag": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1284,6 +1390,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser case "BACnetPriorityValue": objectTypeArgument, _ := BACnetObjectTypeByName(parserArguments[0]) return BACnetPriorityValueParseWithBuffer[BACnetPriorityValue](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument) + case "TimePatternValue": + return TimePatternValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLogRecord": return BACnetLogRecordParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetCalendarEntry": @@ -1327,6 +1435,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser tagNumber := uint8(parsedUint0) tagClass, _ := TagClassByName(parserArguments[1]) return BACnetReliabilityTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) + case "DateValue": + return DateValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetDoorValueTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1337,6 +1447,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetDoorValueTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) case "BACnetScale": return BACnetScaleParseWithBuffer[BACnetScale](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "NetworkSecurity": + return NetworkSecurityParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetNotificationParametersChangeOfValueNewValue": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1344,6 +1456,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser } tagNumber := uint8(parsedUint0) return BACnetNotificationParametersChangeOfValueNewValueParseWithBuffer[BACnetNotificationParametersChangeOfValueNewValue](context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) + case "Calendar": + return CalendarParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "ErrorCodeTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1387,6 +1501,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetEventTypeTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) case "BACnetObjectPropertyReference": return BACnetObjectPropertyReferenceParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "Program": + return ProgramParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetBinaryLightingPVTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1408,6 +1524,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetAuthenticationFactorEnclosedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) case "BACnetEventSummary": return BACnetEventSummaryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "AnalogInput": + return AnalogInputParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetAccessZoneOccupancyStateTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1454,6 +1572,10 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetPropertyWriteDefinitionParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), objectTypeArgument) case "BACnetEventLogRecord": return BACnetEventLogRecordParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "ReadableProperty": + // TODO: find a way to parse the sub types + var bacType string + return ReadablePropertyParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), bacType) case "BACnetBinaryPVTagged": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1528,6 +1650,8 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetTimeStampsEnclosedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) case "BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntry": return BACnetCOVMultipleSubscriptionListOfCovSubscriptionSpecificationEntryParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "LargeAnalogValue": + return LargeAnalogValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetHostAddressEnclosed": parsedUint0, err := strconv.ParseUint(parserArguments[0], 10, 8) if err != nil { @@ -1567,8 +1691,12 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return BACnetProtocolLevelTaggedParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber, tagClass) case "BACnetCOVMultipleSubscription": return BACnetCOVMultipleSubscriptionParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "GlobalGroup": + return GlobalGroupParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetActionList": return BACnetActionListParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "TimeValue": + return TimeValueParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLightingCommand": return BACnetLightingCommandParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "SubscribeCOVPropertyMultipleErrorFirstFailedSubscription": @@ -1580,6 +1708,10 @@ func (m BacnetipXmlParserHelper) Parse(typeName string, xmlString string, parser return SubscribeCOVPropertyMultipleErrorFirstFailedSubscriptionParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString)), tagNumber) case "BACnetAuthenticationFactor": return BACnetAuthenticationFactorParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "MultistateInput": + return MultistateInputParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) + case "LifeSafetyPoint": + return LifeSafetyPointParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetWriteAccessSpecification": return BACnetWriteAccessSpecificationParseWithBuffer(context.Background(), utils.NewXmlReadBuffer(strings.NewReader(xmlString))) case "BACnetLightingCommandEnclosed": diff --git a/plc4go/protocols/bacnetip/readwrite/model/AccessCredential.go b/plc4go/protocols/bacnetip/readwrite/model/AccessCredential.go new file mode 100644 index 00000000000..29291a94804 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AccessCredential.go @@ -0,0 +1,1808 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AccessCredential is the corresponding interface of AccessCredential +type AccessCredential interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetGlobalIdentifier returns GlobalIdentifier (property field) + GetGlobalIdentifier() WritableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetCredentialStatus returns CredentialStatus (property field) + GetCredentialStatus() ReadableProperty + // GetReasonForDisable returns ReasonForDisable (property field) + GetReasonForDisable() ReadableProperty + // GetAuthenticationFactors returns AuthenticationFactors (property field) + GetAuthenticationFactors() ReadableProperty + // GetActivationTime returns ActivationTime (property field) + GetActivationTime() ReadableProperty + // GetExpirationTime returns ExpirationTime (property field) + GetExpirationTime() ReadableProperty + // GetCredentialDisable returns CredentialDisable (property field) + GetCredentialDisable() ReadableProperty + // GetDaysRemaining returns DaysRemaining (property field) + GetDaysRemaining() OptionalProperty + // GetUsesRemaining returns UsesRemaining (property field) + GetUsesRemaining() OptionalProperty + // GetAbsenteeLimit returns AbsenteeLimit (property field) + GetAbsenteeLimit() OptionalProperty + // GetBelongsTo returns BelongsTo (property field) + GetBelongsTo() OptionalProperty + // GetAssignedAccessRights returns AssignedAccessRights (property field) + GetAssignedAccessRights() ReadableProperty + // GetLastAccessPoint returns LastAccessPoint (property field) + GetLastAccessPoint() OptionalProperty + // GetLastAccessEvent returns LastAccessEvent (property field) + GetLastAccessEvent() OptionalProperty + // GetLastUseTime returns LastUseTime (property field) + GetLastUseTime() OptionalProperty + // GetTraceFlag returns TraceFlag (property field) + GetTraceFlag() OptionalProperty + // GetThreatAuthority returns ThreatAuthority (property field) + GetThreatAuthority() OptionalProperty + // GetExtendedTimeEnable returns ExtendedTimeEnable (property field) + GetExtendedTimeEnable() OptionalProperty + // GetAuthorizationExemptions returns AuthorizationExemptions (property field) + GetAuthorizationExemptions() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAccessCredential is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAccessCredential() + // CreateBuilder creates a AccessCredentialBuilder + CreateAccessCredentialBuilder() AccessCredentialBuilder +} + +// _AccessCredential is the data-structure of this message +type _AccessCredential struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + GlobalIdentifier WritableProperty + StatusFlags ReadableProperty + Reliability ReadableProperty + CredentialStatus ReadableProperty + ReasonForDisable ReadableProperty + AuthenticationFactors ReadableProperty + ActivationTime ReadableProperty + ExpirationTime ReadableProperty + CredentialDisable ReadableProperty + DaysRemaining OptionalProperty + UsesRemaining OptionalProperty + AbsenteeLimit OptionalProperty + BelongsTo OptionalProperty + AssignedAccessRights ReadableProperty + LastAccessPoint OptionalProperty + LastAccessEvent OptionalProperty + LastUseTime OptionalProperty + TraceFlag OptionalProperty + ThreatAuthority OptionalProperty + ExtendedTimeEnable OptionalProperty + AuthorizationExemptions OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AccessCredential = (*_AccessCredential)(nil) + +// NewAccessCredential factory function for _AccessCredential +func NewAccessCredential(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, statusFlags ReadableProperty, reliability ReadableProperty, credentialStatus ReadableProperty, reasonForDisable ReadableProperty, authenticationFactors ReadableProperty, activationTime ReadableProperty, expirationTime ReadableProperty, credentialDisable ReadableProperty, daysRemaining OptionalProperty, usesRemaining OptionalProperty, absenteeLimit OptionalProperty, belongsTo OptionalProperty, assignedAccessRights ReadableProperty, lastAccessPoint OptionalProperty, lastAccessEvent OptionalProperty, lastUseTime OptionalProperty, traceFlag OptionalProperty, threatAuthority OptionalProperty, extendedTimeEnable OptionalProperty, authorizationExemptions OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AccessCredential { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AccessCredential must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AccessCredential must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AccessCredential must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AccessCredential must not be nil") + } + if globalIdentifier == nil { + panic("globalIdentifier of type WritableProperty for AccessCredential must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for AccessCredential must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for AccessCredential must not be nil") + } + if credentialStatus == nil { + panic("credentialStatus of type ReadableProperty for AccessCredential must not be nil") + } + if reasonForDisable == nil { + panic("reasonForDisable of type ReadableProperty for AccessCredential must not be nil") + } + if authenticationFactors == nil { + panic("authenticationFactors of type ReadableProperty for AccessCredential must not be nil") + } + if activationTime == nil { + panic("activationTime of type ReadableProperty for AccessCredential must not be nil") + } + if expirationTime == nil { + panic("expirationTime of type ReadableProperty for AccessCredential must not be nil") + } + if credentialDisable == nil { + panic("credentialDisable of type ReadableProperty for AccessCredential must not be nil") + } + if daysRemaining == nil { + panic("daysRemaining of type OptionalProperty for AccessCredential must not be nil") + } + if usesRemaining == nil { + panic("usesRemaining of type OptionalProperty for AccessCredential must not be nil") + } + if absenteeLimit == nil { + panic("absenteeLimit of type OptionalProperty for AccessCredential must not be nil") + } + if belongsTo == nil { + panic("belongsTo of type OptionalProperty for AccessCredential must not be nil") + } + if assignedAccessRights == nil { + panic("assignedAccessRights of type ReadableProperty for AccessCredential must not be nil") + } + if lastAccessPoint == nil { + panic("lastAccessPoint of type OptionalProperty for AccessCredential must not be nil") + } + if lastAccessEvent == nil { + panic("lastAccessEvent of type OptionalProperty for AccessCredential must not be nil") + } + if lastUseTime == nil { + panic("lastUseTime of type OptionalProperty for AccessCredential must not be nil") + } + if traceFlag == nil { + panic("traceFlag of type OptionalProperty for AccessCredential must not be nil") + } + if threatAuthority == nil { + panic("threatAuthority of type OptionalProperty for AccessCredential must not be nil") + } + if extendedTimeEnable == nil { + panic("extendedTimeEnable of type OptionalProperty for AccessCredential must not be nil") + } + if authorizationExemptions == nil { + panic("authorizationExemptions of type OptionalProperty for AccessCredential must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for AccessCredential must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AccessCredential must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AccessCredential must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AccessCredential must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AccessCredential must not be nil") + } + return &_AccessCredential{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, GlobalIdentifier: globalIdentifier, StatusFlags: statusFlags, Reliability: reliability, CredentialStatus: credentialStatus, ReasonForDisable: reasonForDisable, AuthenticationFactors: authenticationFactors, ActivationTime: activationTime, ExpirationTime: expirationTime, CredentialDisable: credentialDisable, DaysRemaining: daysRemaining, UsesRemaining: usesRemaining, AbsenteeLimit: absenteeLimit, BelongsTo: belongsTo, AssignedAccessRights: assignedAccessRights, LastAccessPoint: lastAccessPoint, LastAccessEvent: lastAccessEvent, LastUseTime: lastUseTime, TraceFlag: traceFlag, ThreatAuthority: threatAuthority, ExtendedTimeEnable: extendedTimeEnable, AuthorizationExemptions: authorizationExemptions, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AccessCredentialBuilder is a builder for AccessCredential +type AccessCredentialBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, statusFlags ReadableProperty, reliability ReadableProperty, credentialStatus ReadableProperty, reasonForDisable ReadableProperty, authenticationFactors ReadableProperty, activationTime ReadableProperty, expirationTime ReadableProperty, credentialDisable ReadableProperty, daysRemaining OptionalProperty, usesRemaining OptionalProperty, absenteeLimit OptionalProperty, belongsTo OptionalProperty, assignedAccessRights ReadableProperty, lastAccessPoint OptionalProperty, lastAccessEvent OptionalProperty, lastUseTime OptionalProperty, traceFlag OptionalProperty, threatAuthority OptionalProperty, extendedTimeEnable OptionalProperty, authorizationExemptions OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessCredentialBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AccessCredentialBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AccessCredentialBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AccessCredentialBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AccessCredentialBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithGlobalIdentifier adds GlobalIdentifier (property field) + WithGlobalIdentifier(WritableProperty) AccessCredentialBuilder + // WithGlobalIdentifierBuilder adds GlobalIdentifier (property field) which is build by the builder + WithGlobalIdentifierBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) AccessCredentialBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AccessCredentialBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) AccessCredentialBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithCredentialStatus adds CredentialStatus (property field) + WithCredentialStatus(ReadableProperty) AccessCredentialBuilder + // WithCredentialStatusBuilder adds CredentialStatus (property field) which is build by the builder + WithCredentialStatusBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithReasonForDisable adds ReasonForDisable (property field) + WithReasonForDisable(ReadableProperty) AccessCredentialBuilder + // WithReasonForDisableBuilder adds ReasonForDisable (property field) which is build by the builder + WithReasonForDisableBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithAuthenticationFactors adds AuthenticationFactors (property field) + WithAuthenticationFactors(ReadableProperty) AccessCredentialBuilder + // WithAuthenticationFactorsBuilder adds AuthenticationFactors (property field) which is build by the builder + WithAuthenticationFactorsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithActivationTime adds ActivationTime (property field) + WithActivationTime(ReadableProperty) AccessCredentialBuilder + // WithActivationTimeBuilder adds ActivationTime (property field) which is build by the builder + WithActivationTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithExpirationTime adds ExpirationTime (property field) + WithExpirationTime(ReadableProperty) AccessCredentialBuilder + // WithExpirationTimeBuilder adds ExpirationTime (property field) which is build by the builder + WithExpirationTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithCredentialDisable adds CredentialDisable (property field) + WithCredentialDisable(ReadableProperty) AccessCredentialBuilder + // WithCredentialDisableBuilder adds CredentialDisable (property field) which is build by the builder + WithCredentialDisableBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithDaysRemaining adds DaysRemaining (property field) + WithDaysRemaining(OptionalProperty) AccessCredentialBuilder + // WithDaysRemainingBuilder adds DaysRemaining (property field) which is build by the builder + WithDaysRemainingBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithUsesRemaining adds UsesRemaining (property field) + WithUsesRemaining(OptionalProperty) AccessCredentialBuilder + // WithUsesRemainingBuilder adds UsesRemaining (property field) which is build by the builder + WithUsesRemainingBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithAbsenteeLimit adds AbsenteeLimit (property field) + WithAbsenteeLimit(OptionalProperty) AccessCredentialBuilder + // WithAbsenteeLimitBuilder adds AbsenteeLimit (property field) which is build by the builder + WithAbsenteeLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithBelongsTo adds BelongsTo (property field) + WithBelongsTo(OptionalProperty) AccessCredentialBuilder + // WithBelongsToBuilder adds BelongsTo (property field) which is build by the builder + WithBelongsToBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithAssignedAccessRights adds AssignedAccessRights (property field) + WithAssignedAccessRights(ReadableProperty) AccessCredentialBuilder + // WithAssignedAccessRightsBuilder adds AssignedAccessRights (property field) which is build by the builder + WithAssignedAccessRightsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithLastAccessPoint adds LastAccessPoint (property field) + WithLastAccessPoint(OptionalProperty) AccessCredentialBuilder + // WithLastAccessPointBuilder adds LastAccessPoint (property field) which is build by the builder + WithLastAccessPointBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithLastAccessEvent adds LastAccessEvent (property field) + WithLastAccessEvent(OptionalProperty) AccessCredentialBuilder + // WithLastAccessEventBuilder adds LastAccessEvent (property field) which is build by the builder + WithLastAccessEventBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithLastUseTime adds LastUseTime (property field) + WithLastUseTime(OptionalProperty) AccessCredentialBuilder + // WithLastUseTimeBuilder adds LastUseTime (property field) which is build by the builder + WithLastUseTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithTraceFlag adds TraceFlag (property field) + WithTraceFlag(OptionalProperty) AccessCredentialBuilder + // WithTraceFlagBuilder adds TraceFlag (property field) which is build by the builder + WithTraceFlagBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithThreatAuthority adds ThreatAuthority (property field) + WithThreatAuthority(OptionalProperty) AccessCredentialBuilder + // WithThreatAuthorityBuilder adds ThreatAuthority (property field) which is build by the builder + WithThreatAuthorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithExtendedTimeEnable adds ExtendedTimeEnable (property field) + WithExtendedTimeEnable(OptionalProperty) AccessCredentialBuilder + // WithExtendedTimeEnableBuilder adds ExtendedTimeEnable (property field) which is build by the builder + WithExtendedTimeEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithAuthorizationExemptions adds AuthorizationExemptions (property field) + WithAuthorizationExemptions(OptionalProperty) AccessCredentialBuilder + // WithAuthorizationExemptionsBuilder adds AuthorizationExemptions (property field) which is build by the builder + WithAuthorizationExemptionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AccessCredentialBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AccessCredentialBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AccessCredentialBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AccessCredentialBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AccessCredentialBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder + // Build builds the AccessCredential or returns an error if something is wrong + Build() (AccessCredential, error) + // MustBuild does the same as Build but panics on error + MustBuild() AccessCredential +} + +// NewAccessCredentialBuilder() creates a AccessCredentialBuilder +func NewAccessCredentialBuilder() AccessCredentialBuilder { + return &_AccessCredentialBuilder{_AccessCredential: new(_AccessCredential)} +} + +type _AccessCredentialBuilder struct { + *_AccessCredential + + err *utils.MultiError +} + +var _ (AccessCredentialBuilder) = (*_AccessCredentialBuilder)(nil) + +func (b *_AccessCredentialBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, statusFlags ReadableProperty, reliability ReadableProperty, credentialStatus ReadableProperty, reasonForDisable ReadableProperty, authenticationFactors ReadableProperty, activationTime ReadableProperty, expirationTime ReadableProperty, credentialDisable ReadableProperty, daysRemaining OptionalProperty, usesRemaining OptionalProperty, absenteeLimit OptionalProperty, belongsTo OptionalProperty, assignedAccessRights ReadableProperty, lastAccessPoint OptionalProperty, lastAccessEvent OptionalProperty, lastUseTime OptionalProperty, traceFlag OptionalProperty, threatAuthority OptionalProperty, extendedTimeEnable OptionalProperty, authorizationExemptions OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessCredentialBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithGlobalIdentifier(globalIdentifier).WithStatusFlags(statusFlags).WithReliability(reliability).WithCredentialStatus(credentialStatus).WithReasonForDisable(reasonForDisable).WithAuthenticationFactors(authenticationFactors).WithActivationTime(activationTime).WithExpirationTime(expirationTime).WithCredentialDisable(credentialDisable).WithDaysRemaining(daysRemaining).WithUsesRemaining(usesRemaining).WithAbsenteeLimit(absenteeLimit).WithBelongsTo(belongsTo).WithAssignedAccessRights(assignedAccessRights).WithLastAccessPoint(lastAccessPoint).WithLastAccessEvent(lastAccessEvent).WithLastUseTime(lastUseTime).WithTraceFlag(traceFlag).WithThreatAuthority(threatAuthority).WithExtendedTimeEnable(extendedTimeEnable).WithAuthorizationExemptions(authorizationExemptions).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AccessCredentialBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AccessCredentialBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AccessCredentialBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithObjectName(objectName ReadableProperty) AccessCredentialBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AccessCredentialBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithObjectType(objectType ReadableProperty) AccessCredentialBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AccessCredentialBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithDescription(description OptionalProperty) AccessCredentialBuilder { + b.Description = description + return b +} + +func (b *_AccessCredentialBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithGlobalIdentifier(globalIdentifier WritableProperty) AccessCredentialBuilder { + b.GlobalIdentifier = globalIdentifier + return b +} + +func (b *_AccessCredentialBuilder) WithGlobalIdentifierBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.GlobalIdentifier.CreateWritablePropertyBuilder()) + var err error + b.GlobalIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithStatusFlags(statusFlags ReadableProperty) AccessCredentialBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AccessCredentialBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithReliability(reliability ReadableProperty) AccessCredentialBuilder { + b.Reliability = reliability + return b +} + +func (b *_AccessCredentialBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithCredentialStatus(credentialStatus ReadableProperty) AccessCredentialBuilder { + b.CredentialStatus = credentialStatus + return b +} + +func (b *_AccessCredentialBuilder) WithCredentialStatusBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.CredentialStatus.CreateReadablePropertyBuilder()) + var err error + b.CredentialStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithReasonForDisable(reasonForDisable ReadableProperty) AccessCredentialBuilder { + b.ReasonForDisable = reasonForDisable + return b +} + +func (b *_AccessCredentialBuilder) WithReasonForDisableBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ReasonForDisable.CreateReadablePropertyBuilder()) + var err error + b.ReasonForDisable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithAuthenticationFactors(authenticationFactors ReadableProperty) AccessCredentialBuilder { + b.AuthenticationFactors = authenticationFactors + return b +} + +func (b *_AccessCredentialBuilder) WithAuthenticationFactorsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.AuthenticationFactors.CreateReadablePropertyBuilder()) + var err error + b.AuthenticationFactors, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithActivationTime(activationTime ReadableProperty) AccessCredentialBuilder { + b.ActivationTime = activationTime + return b +} + +func (b *_AccessCredentialBuilder) WithActivationTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ActivationTime.CreateReadablePropertyBuilder()) + var err error + b.ActivationTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithExpirationTime(expirationTime ReadableProperty) AccessCredentialBuilder { + b.ExpirationTime = expirationTime + return b +} + +func (b *_AccessCredentialBuilder) WithExpirationTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ExpirationTime.CreateReadablePropertyBuilder()) + var err error + b.ExpirationTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithCredentialDisable(credentialDisable ReadableProperty) AccessCredentialBuilder { + b.CredentialDisable = credentialDisable + return b +} + +func (b *_AccessCredentialBuilder) WithCredentialDisableBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.CredentialDisable.CreateReadablePropertyBuilder()) + var err error + b.CredentialDisable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithDaysRemaining(daysRemaining OptionalProperty) AccessCredentialBuilder { + b.DaysRemaining = daysRemaining + return b +} + +func (b *_AccessCredentialBuilder) WithDaysRemainingBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.DaysRemaining.CreateOptionalPropertyBuilder()) + var err error + b.DaysRemaining, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithUsesRemaining(usesRemaining OptionalProperty) AccessCredentialBuilder { + b.UsesRemaining = usesRemaining + return b +} + +func (b *_AccessCredentialBuilder) WithUsesRemainingBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.UsesRemaining.CreateOptionalPropertyBuilder()) + var err error + b.UsesRemaining, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithAbsenteeLimit(absenteeLimit OptionalProperty) AccessCredentialBuilder { + b.AbsenteeLimit = absenteeLimit + return b +} + +func (b *_AccessCredentialBuilder) WithAbsenteeLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.AbsenteeLimit.CreateOptionalPropertyBuilder()) + var err error + b.AbsenteeLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithBelongsTo(belongsTo OptionalProperty) AccessCredentialBuilder { + b.BelongsTo = belongsTo + return b +} + +func (b *_AccessCredentialBuilder) WithBelongsToBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.BelongsTo.CreateOptionalPropertyBuilder()) + var err error + b.BelongsTo, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithAssignedAccessRights(assignedAccessRights ReadableProperty) AccessCredentialBuilder { + b.AssignedAccessRights = assignedAccessRights + return b +} + +func (b *_AccessCredentialBuilder) WithAssignedAccessRightsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.AssignedAccessRights.CreateReadablePropertyBuilder()) + var err error + b.AssignedAccessRights, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithLastAccessPoint(lastAccessPoint OptionalProperty) AccessCredentialBuilder { + b.LastAccessPoint = lastAccessPoint + return b +} + +func (b *_AccessCredentialBuilder) WithLastAccessPointBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.LastAccessPoint.CreateOptionalPropertyBuilder()) + var err error + b.LastAccessPoint, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithLastAccessEvent(lastAccessEvent OptionalProperty) AccessCredentialBuilder { + b.LastAccessEvent = lastAccessEvent + return b +} + +func (b *_AccessCredentialBuilder) WithLastAccessEventBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.LastAccessEvent.CreateOptionalPropertyBuilder()) + var err error + b.LastAccessEvent, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithLastUseTime(lastUseTime OptionalProperty) AccessCredentialBuilder { + b.LastUseTime = lastUseTime + return b +} + +func (b *_AccessCredentialBuilder) WithLastUseTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.LastUseTime.CreateOptionalPropertyBuilder()) + var err error + b.LastUseTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithTraceFlag(traceFlag OptionalProperty) AccessCredentialBuilder { + b.TraceFlag = traceFlag + return b +} + +func (b *_AccessCredentialBuilder) WithTraceFlagBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.TraceFlag.CreateOptionalPropertyBuilder()) + var err error + b.TraceFlag, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithThreatAuthority(threatAuthority OptionalProperty) AccessCredentialBuilder { + b.ThreatAuthority = threatAuthority + return b +} + +func (b *_AccessCredentialBuilder) WithThreatAuthorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ThreatAuthority.CreateOptionalPropertyBuilder()) + var err error + b.ThreatAuthority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithExtendedTimeEnable(extendedTimeEnable OptionalProperty) AccessCredentialBuilder { + b.ExtendedTimeEnable = extendedTimeEnable + return b +} + +func (b *_AccessCredentialBuilder) WithExtendedTimeEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ExtendedTimeEnable.CreateOptionalPropertyBuilder()) + var err error + b.ExtendedTimeEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithAuthorizationExemptions(authorizationExemptions OptionalProperty) AccessCredentialBuilder { + b.AuthorizationExemptions = authorizationExemptions + return b +} + +func (b *_AccessCredentialBuilder) WithAuthorizationExemptionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.AuthorizationExemptions.CreateOptionalPropertyBuilder()) + var err error + b.AuthorizationExemptions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AccessCredentialBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AccessCredentialBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithPropertyList(propertyList ReadableProperty) AccessCredentialBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AccessCredentialBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithTags(tags OptionalProperty) AccessCredentialBuilder { + b.Tags = tags + return b +} + +func (b *_AccessCredentialBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithProfileLocation(profileLocation OptionalProperty) AccessCredentialBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AccessCredentialBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) WithProfileName(profileName OptionalProperty) AccessCredentialBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AccessCredentialBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessCredentialBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessCredentialBuilder) Build() (AccessCredential, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.GlobalIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'globalIdentifier' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.CredentialStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'credentialStatus' not set")) + } + if b.ReasonForDisable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reasonForDisable' not set")) + } + if b.AuthenticationFactors == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'authenticationFactors' not set")) + } + if b.ActivationTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'activationTime' not set")) + } + if b.ExpirationTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'expirationTime' not set")) + } + if b.CredentialDisable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'credentialDisable' not set")) + } + if b.DaysRemaining == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'daysRemaining' not set")) + } + if b.UsesRemaining == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'usesRemaining' not set")) + } + if b.AbsenteeLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'absenteeLimit' not set")) + } + if b.BelongsTo == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'belongsTo' not set")) + } + if b.AssignedAccessRights == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'assignedAccessRights' not set")) + } + if b.LastAccessPoint == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastAccessPoint' not set")) + } + if b.LastAccessEvent == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastAccessEvent' not set")) + } + if b.LastUseTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastUseTime' not set")) + } + if b.TraceFlag == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'traceFlag' not set")) + } + if b.ThreatAuthority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'threatAuthority' not set")) + } + if b.ExtendedTimeEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'extendedTimeEnable' not set")) + } + if b.AuthorizationExemptions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'authorizationExemptions' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AccessCredential.deepCopy(), nil +} + +func (b *_AccessCredentialBuilder) MustBuild() AccessCredential { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AccessCredentialBuilder) DeepCopy() any { + _copy := b.CreateAccessCredentialBuilder().(*_AccessCredentialBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAccessCredentialBuilder creates a AccessCredentialBuilder +func (b *_AccessCredential) CreateAccessCredentialBuilder() AccessCredentialBuilder { + if b == nil { + return NewAccessCredentialBuilder() + } + return &_AccessCredentialBuilder{_AccessCredential: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AccessCredential) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AccessCredential) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AccessCredential) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AccessCredential) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AccessCredential) GetGlobalIdentifier() WritableProperty { + return m.GlobalIdentifier +} + +func (m *_AccessCredential) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_AccessCredential) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_AccessCredential) GetCredentialStatus() ReadableProperty { + return m.CredentialStatus +} + +func (m *_AccessCredential) GetReasonForDisable() ReadableProperty { + return m.ReasonForDisable +} + +func (m *_AccessCredential) GetAuthenticationFactors() ReadableProperty { + return m.AuthenticationFactors +} + +func (m *_AccessCredential) GetActivationTime() ReadableProperty { + return m.ActivationTime +} + +func (m *_AccessCredential) GetExpirationTime() ReadableProperty { + return m.ExpirationTime +} + +func (m *_AccessCredential) GetCredentialDisable() ReadableProperty { + return m.CredentialDisable +} + +func (m *_AccessCredential) GetDaysRemaining() OptionalProperty { + return m.DaysRemaining +} + +func (m *_AccessCredential) GetUsesRemaining() OptionalProperty { + return m.UsesRemaining +} + +func (m *_AccessCredential) GetAbsenteeLimit() OptionalProperty { + return m.AbsenteeLimit +} + +func (m *_AccessCredential) GetBelongsTo() OptionalProperty { + return m.BelongsTo +} + +func (m *_AccessCredential) GetAssignedAccessRights() ReadableProperty { + return m.AssignedAccessRights +} + +func (m *_AccessCredential) GetLastAccessPoint() OptionalProperty { + return m.LastAccessPoint +} + +func (m *_AccessCredential) GetLastAccessEvent() OptionalProperty { + return m.LastAccessEvent +} + +func (m *_AccessCredential) GetLastUseTime() OptionalProperty { + return m.LastUseTime +} + +func (m *_AccessCredential) GetTraceFlag() OptionalProperty { + return m.TraceFlag +} + +func (m *_AccessCredential) GetThreatAuthority() OptionalProperty { + return m.ThreatAuthority +} + +func (m *_AccessCredential) GetExtendedTimeEnable() OptionalProperty { + return m.ExtendedTimeEnable +} + +func (m *_AccessCredential) GetAuthorizationExemptions() OptionalProperty { + return m.AuthorizationExemptions +} + +func (m *_AccessCredential) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_AccessCredential) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AccessCredential) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AccessCredential) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AccessCredential) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAccessCredential(structType any) AccessCredential { + if casted, ok := structType.(AccessCredential); ok { + return casted + } + if casted, ok := structType.(*AccessCredential); ok { + return *casted + } + return nil +} + +func (m *_AccessCredential) GetTypeName() string { + return "AccessCredential" +} + +func (m *_AccessCredential) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (globalIdentifier) + lengthInBits += m.GlobalIdentifier.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (credentialStatus) + lengthInBits += m.CredentialStatus.GetLengthInBits(ctx) + + // Simple field (reasonForDisable) + lengthInBits += m.ReasonForDisable.GetLengthInBits(ctx) + + // Simple field (authenticationFactors) + lengthInBits += m.AuthenticationFactors.GetLengthInBits(ctx) + + // Simple field (activationTime) + lengthInBits += m.ActivationTime.GetLengthInBits(ctx) + + // Simple field (expirationTime) + lengthInBits += m.ExpirationTime.GetLengthInBits(ctx) + + // Simple field (credentialDisable) + lengthInBits += m.CredentialDisable.GetLengthInBits(ctx) + + // Simple field (daysRemaining) + lengthInBits += m.DaysRemaining.GetLengthInBits(ctx) + + // Simple field (usesRemaining) + lengthInBits += m.UsesRemaining.GetLengthInBits(ctx) + + // Simple field (absenteeLimit) + lengthInBits += m.AbsenteeLimit.GetLengthInBits(ctx) + + // Simple field (belongsTo) + lengthInBits += m.BelongsTo.GetLengthInBits(ctx) + + // Simple field (assignedAccessRights) + lengthInBits += m.AssignedAccessRights.GetLengthInBits(ctx) + + // Simple field (lastAccessPoint) + lengthInBits += m.LastAccessPoint.GetLengthInBits(ctx) + + // Simple field (lastAccessEvent) + lengthInBits += m.LastAccessEvent.GetLengthInBits(ctx) + + // Simple field (lastUseTime) + lengthInBits += m.LastUseTime.GetLengthInBits(ctx) + + // Simple field (traceFlag) + lengthInBits += m.TraceFlag.GetLengthInBits(ctx) + + // Simple field (threatAuthority) + lengthInBits += m.ThreatAuthority.GetLengthInBits(ctx) + + // Simple field (extendedTimeEnable) + lengthInBits += m.ExtendedTimeEnable.GetLengthInBits(ctx) + + // Simple field (authorizationExemptions) + lengthInBits += m.AuthorizationExemptions.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AccessCredential) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AccessCredentialParse(ctx context.Context, theBytes []byte) (AccessCredential, error) { + return AccessCredentialParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AccessCredentialParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessCredential, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessCredential, error) { + return AccessCredentialParseWithBuffer(ctx, readBuffer) + } +} + +func AccessCredentialParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AccessCredential, error) { + v, err := (&_AccessCredential{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AccessCredential) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__accessCredential AccessCredential, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AccessCredential"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AccessCredential") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + globalIdentifier, err := ReadSimpleField[WritableProperty](ctx, "globalIdentifier", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'globalIdentifier' field")) + } + m.GlobalIdentifier = globalIdentifier + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + credentialStatus, err := ReadSimpleField[ReadableProperty](ctx, "credentialStatus", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'credentialStatus' field")) + } + m.CredentialStatus = credentialStatus + + reasonForDisable, err := ReadSimpleField[ReadableProperty](ctx, "reasonForDisable", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetAccessCredentialDisableReason")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reasonForDisable' field")) + } + m.ReasonForDisable = reasonForDisable + + authenticationFactors, err := ReadSimpleField[ReadableProperty](ctx, "authenticationFactors", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetCredentialAuthenticationFactor")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'authenticationFactors' field")) + } + m.AuthenticationFactors = authenticationFactors + + activationTime, err := ReadSimpleField[ReadableProperty](ctx, "activationTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'activationTime' field")) + } + m.ActivationTime = activationTime + + expirationTime, err := ReadSimpleField[ReadableProperty](ctx, "expirationTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'expirationTime' field")) + } + m.ExpirationTime = expirationTime + + credentialDisable, err := ReadSimpleField[ReadableProperty](ctx, "credentialDisable", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetAccessCredentialDisable")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'credentialDisable' field")) + } + m.CredentialDisable = credentialDisable + + daysRemaining, err := ReadSimpleField[OptionalProperty](ctx, "daysRemaining", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'daysRemaining' field")) + } + m.DaysRemaining = daysRemaining + + usesRemaining, err := ReadSimpleField[OptionalProperty](ctx, "usesRemaining", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'usesRemaining' field")) + } + m.UsesRemaining = usesRemaining + + absenteeLimit, err := ReadSimpleField[OptionalProperty](ctx, "absenteeLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'absenteeLimit' field")) + } + m.AbsenteeLimit = absenteeLimit + + belongsTo, err := ReadSimpleField[OptionalProperty](ctx, "belongsTo", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'belongsTo' field")) + } + m.BelongsTo = belongsTo + + assignedAccessRights, err := ReadSimpleField[ReadableProperty](ctx, "assignedAccessRights", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetAssignedAccessRights")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'assignedAccessRights' field")) + } + m.AssignedAccessRights = assignedAccessRights + + lastAccessPoint, err := ReadSimpleField[OptionalProperty](ctx, "lastAccessPoint", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastAccessPoint' field")) + } + m.LastAccessPoint = lastAccessPoint + + lastAccessEvent, err := ReadSimpleField[OptionalProperty](ctx, "lastAccessEvent", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetAccessEvent")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastAccessEvent' field")) + } + m.LastAccessEvent = lastAccessEvent + + lastUseTime, err := ReadSimpleField[OptionalProperty](ctx, "lastUseTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastUseTime' field")) + } + m.LastUseTime = lastUseTime + + traceFlag, err := ReadSimpleField[OptionalProperty](ctx, "traceFlag", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'traceFlag' field")) + } + m.TraceFlag = traceFlag + + threatAuthority, err := ReadSimpleField[OptionalProperty](ctx, "threatAuthority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetAccessThreatLevel")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'threatAuthority' field")) + } + m.ThreatAuthority = threatAuthority + + extendedTimeEnable, err := ReadSimpleField[OptionalProperty](ctx, "extendedTimeEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'extendedTimeEnable' field")) + } + m.ExtendedTimeEnable = extendedTimeEnable + + authorizationExemptions, err := ReadSimpleField[OptionalProperty](ctx, "authorizationExemptions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetAuthorizationExemption")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'authorizationExemptions' field")) + } + m.AuthorizationExemptions = authorizationExemptions + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AccessCredential"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AccessCredential") + } + + return m, nil +} + +func (m *_AccessCredential) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AccessCredential) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AccessCredential"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AccessCredential") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "globalIdentifier", m.GetGlobalIdentifier(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'globalIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "credentialStatus", m.GetCredentialStatus(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'credentialStatus' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reasonForDisable", m.GetReasonForDisable(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reasonForDisable' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "authenticationFactors", m.GetAuthenticationFactors(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'authenticationFactors' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "activationTime", m.GetActivationTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'activationTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "expirationTime", m.GetExpirationTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'expirationTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "credentialDisable", m.GetCredentialDisable(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'credentialDisable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "daysRemaining", m.GetDaysRemaining(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'daysRemaining' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "usesRemaining", m.GetUsesRemaining(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'usesRemaining' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "absenteeLimit", m.GetAbsenteeLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'absenteeLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "belongsTo", m.GetBelongsTo(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'belongsTo' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "assignedAccessRights", m.GetAssignedAccessRights(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'assignedAccessRights' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastAccessPoint", m.GetLastAccessPoint(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastAccessPoint' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastAccessEvent", m.GetLastAccessEvent(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastAccessEvent' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastUseTime", m.GetLastUseTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastUseTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "traceFlag", m.GetTraceFlag(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'traceFlag' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "threatAuthority", m.GetThreatAuthority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'threatAuthority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "extendedTimeEnable", m.GetExtendedTimeEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'extendedTimeEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "authorizationExemptions", m.GetAuthorizationExemptions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'authorizationExemptions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AccessCredential"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AccessCredential") + } + return nil +} + +func (m *_AccessCredential) IsAccessCredential() {} + +func (m *_AccessCredential) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AccessCredential) deepCopy() *_AccessCredential { + if m == nil { + return nil + } + _AccessCredentialCopy := &_AccessCredential{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.GlobalIdentifier.DeepCopy().(WritableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.CredentialStatus.DeepCopy().(ReadableProperty), + m.ReasonForDisable.DeepCopy().(ReadableProperty), + m.AuthenticationFactors.DeepCopy().(ReadableProperty), + m.ActivationTime.DeepCopy().(ReadableProperty), + m.ExpirationTime.DeepCopy().(ReadableProperty), + m.CredentialDisable.DeepCopy().(ReadableProperty), + m.DaysRemaining.DeepCopy().(OptionalProperty), + m.UsesRemaining.DeepCopy().(OptionalProperty), + m.AbsenteeLimit.DeepCopy().(OptionalProperty), + m.BelongsTo.DeepCopy().(OptionalProperty), + m.AssignedAccessRights.DeepCopy().(ReadableProperty), + m.LastAccessPoint.DeepCopy().(OptionalProperty), + m.LastAccessEvent.DeepCopy().(OptionalProperty), + m.LastUseTime.DeepCopy().(OptionalProperty), + m.TraceFlag.DeepCopy().(OptionalProperty), + m.ThreatAuthority.DeepCopy().(OptionalProperty), + m.ExtendedTimeEnable.DeepCopy().(OptionalProperty), + m.AuthorizationExemptions.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AccessCredentialCopy +} + +func (m *_AccessCredential) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/AccessDoor.go b/plc4go/protocols/bacnetip/readwrite/model/AccessDoor.go new file mode 100644 index 00000000000..42728526487 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AccessDoor.go @@ -0,0 +1,2640 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AccessDoor is the corresponding interface of AccessDoor +type AccessDoor interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() WritableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() ReadableProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() ReadableProperty + // GetDoorStatus returns DoorStatus (property field) + GetDoorStatus() OptionalProperty + // GetLockStatus returns LockStatus (property field) + GetLockStatus() OptionalProperty + // GetSecuredStatus returns SecuredStatus (property field) + GetSecuredStatus() OptionalProperty + // GetDoorMembers returns DoorMembers (property field) + GetDoorMembers() OptionalProperty + // GetDoorPulseTime returns DoorPulseTime (property field) + GetDoorPulseTime() ReadableProperty + // GetDoorExtendedPulseTime returns DoorExtendedPulseTime (property field) + GetDoorExtendedPulseTime() ReadableProperty + // GetDoorUnlockDelayTime returns DoorUnlockDelayTime (property field) + GetDoorUnlockDelayTime() OptionalProperty + // GetDoorOpenTooLongTime returns DoorOpenTooLongTime (property field) + GetDoorOpenTooLongTime() ReadableProperty + // GetDoorAlarmState returns DoorAlarmState (property field) + GetDoorAlarmState() OptionalProperty + // GetMaskedAlarmValues returns MaskedAlarmValues (property field) + GetMaskedAlarmValues() OptionalProperty + // GetMaintenanceRequired returns MaintenanceRequired (property field) + GetMaintenanceRequired() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetAlarmValues returns AlarmValues (property field) + GetAlarmValues() OptionalProperty + // GetFaultValues returns FaultValues (property field) + GetFaultValues() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAccessDoor is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAccessDoor() + // CreateBuilder creates a AccessDoorBuilder + CreateAccessDoorBuilder() AccessDoorBuilder +} + +// _AccessDoor is the data-structure of this message +type _AccessDoor struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue WritableProperty + Description OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability ReadableProperty + OutOfService ReadableProperty + PriorityArray ReadableProperty + RelinquishDefault ReadableProperty + DoorStatus OptionalProperty + LockStatus OptionalProperty + SecuredStatus OptionalProperty + DoorMembers OptionalProperty + DoorPulseTime ReadableProperty + DoorExtendedPulseTime ReadableProperty + DoorUnlockDelayTime OptionalProperty + DoorOpenTooLongTime ReadableProperty + DoorAlarmState OptionalProperty + MaskedAlarmValues OptionalProperty + MaintenanceRequired OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + AlarmValues OptionalProperty + FaultValues OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + CurrentCommandPriority ReadableProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AccessDoor = (*_AccessDoor)(nil) + +// NewAccessDoor factory function for _AccessDoor +func NewAccessDoor(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, doorStatus OptionalProperty, lockStatus OptionalProperty, securedStatus OptionalProperty, doorMembers OptionalProperty, doorPulseTime ReadableProperty, doorExtendedPulseTime ReadableProperty, doorUnlockDelayTime OptionalProperty, doorOpenTooLongTime ReadableProperty, doorAlarmState OptionalProperty, maskedAlarmValues OptionalProperty, maintenanceRequired OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AccessDoor { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AccessDoor must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AccessDoor must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AccessDoor must not be nil") + } + if presentValue == nil { + panic("presentValue of type WritableProperty for AccessDoor must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AccessDoor must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for AccessDoor must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for AccessDoor must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for AccessDoor must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for AccessDoor must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type ReadableProperty for AccessDoor must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type ReadableProperty for AccessDoor must not be nil") + } + if doorStatus == nil { + panic("doorStatus of type OptionalProperty for AccessDoor must not be nil") + } + if lockStatus == nil { + panic("lockStatus of type OptionalProperty for AccessDoor must not be nil") + } + if securedStatus == nil { + panic("securedStatus of type OptionalProperty for AccessDoor must not be nil") + } + if doorMembers == nil { + panic("doorMembers of type OptionalProperty for AccessDoor must not be nil") + } + if doorPulseTime == nil { + panic("doorPulseTime of type ReadableProperty for AccessDoor must not be nil") + } + if doorExtendedPulseTime == nil { + panic("doorExtendedPulseTime of type ReadableProperty for AccessDoor must not be nil") + } + if doorUnlockDelayTime == nil { + panic("doorUnlockDelayTime of type OptionalProperty for AccessDoor must not be nil") + } + if doorOpenTooLongTime == nil { + panic("doorOpenTooLongTime of type ReadableProperty for AccessDoor must not be nil") + } + if doorAlarmState == nil { + panic("doorAlarmState of type OptionalProperty for AccessDoor must not be nil") + } + if maskedAlarmValues == nil { + panic("maskedAlarmValues of type OptionalProperty for AccessDoor must not be nil") + } + if maintenanceRequired == nil { + panic("maintenanceRequired of type OptionalProperty for AccessDoor must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for AccessDoor must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for AccessDoor must not be nil") + } + if alarmValues == nil { + panic("alarmValues of type OptionalProperty for AccessDoor must not be nil") + } + if faultValues == nil { + panic("faultValues of type OptionalProperty for AccessDoor must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for AccessDoor must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for AccessDoor must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for AccessDoor must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for AccessDoor must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for AccessDoor must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for AccessDoor must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for AccessDoor must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for AccessDoor must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for AccessDoor must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for AccessDoor must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for AccessDoor must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AccessDoor must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type ReadableProperty for AccessDoor must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for AccessDoor must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for AccessDoor must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for AccessDoor must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for AccessDoor must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AccessDoor must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AccessDoor must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AccessDoor must not be nil") + } + return &_AccessDoor{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, DoorStatus: doorStatus, LockStatus: lockStatus, SecuredStatus: securedStatus, DoorMembers: doorMembers, DoorPulseTime: doorPulseTime, DoorExtendedPulseTime: doorExtendedPulseTime, DoorUnlockDelayTime: doorUnlockDelayTime, DoorOpenTooLongTime: doorOpenTooLongTime, DoorAlarmState: doorAlarmState, MaskedAlarmValues: maskedAlarmValues, MaintenanceRequired: maintenanceRequired, TimeDelay: timeDelay, NotificationClass: notificationClass, AlarmValues: alarmValues, FaultValues: faultValues, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AccessDoorBuilder is a builder for AccessDoor +type AccessDoorBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, doorStatus OptionalProperty, lockStatus OptionalProperty, securedStatus OptionalProperty, doorMembers OptionalProperty, doorPulseTime ReadableProperty, doorExtendedPulseTime ReadableProperty, doorUnlockDelayTime OptionalProperty, doorOpenTooLongTime ReadableProperty, doorAlarmState OptionalProperty, maskedAlarmValues OptionalProperty, maintenanceRequired OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessDoorBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AccessDoorBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AccessDoorBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AccessDoorBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(WritableProperty) AccessDoorBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) AccessDoorBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AccessDoorBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AccessDoorBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) AccessDoorBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) AccessDoorBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) AccessDoorBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(ReadableProperty) AccessDoorBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(ReadableProperty) AccessDoorBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithDoorStatus adds DoorStatus (property field) + WithDoorStatus(OptionalProperty) AccessDoorBuilder + // WithDoorStatusBuilder adds DoorStatus (property field) which is build by the builder + WithDoorStatusBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithLockStatus adds LockStatus (property field) + WithLockStatus(OptionalProperty) AccessDoorBuilder + // WithLockStatusBuilder adds LockStatus (property field) which is build by the builder + WithLockStatusBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithSecuredStatus adds SecuredStatus (property field) + WithSecuredStatus(OptionalProperty) AccessDoorBuilder + // WithSecuredStatusBuilder adds SecuredStatus (property field) which is build by the builder + WithSecuredStatusBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithDoorMembers adds DoorMembers (property field) + WithDoorMembers(OptionalProperty) AccessDoorBuilder + // WithDoorMembersBuilder adds DoorMembers (property field) which is build by the builder + WithDoorMembersBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithDoorPulseTime adds DoorPulseTime (property field) + WithDoorPulseTime(ReadableProperty) AccessDoorBuilder + // WithDoorPulseTimeBuilder adds DoorPulseTime (property field) which is build by the builder + WithDoorPulseTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithDoorExtendedPulseTime adds DoorExtendedPulseTime (property field) + WithDoorExtendedPulseTime(ReadableProperty) AccessDoorBuilder + // WithDoorExtendedPulseTimeBuilder adds DoorExtendedPulseTime (property field) which is build by the builder + WithDoorExtendedPulseTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithDoorUnlockDelayTime adds DoorUnlockDelayTime (property field) + WithDoorUnlockDelayTime(OptionalProperty) AccessDoorBuilder + // WithDoorUnlockDelayTimeBuilder adds DoorUnlockDelayTime (property field) which is build by the builder + WithDoorUnlockDelayTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithDoorOpenTooLongTime adds DoorOpenTooLongTime (property field) + WithDoorOpenTooLongTime(ReadableProperty) AccessDoorBuilder + // WithDoorOpenTooLongTimeBuilder adds DoorOpenTooLongTime (property field) which is build by the builder + WithDoorOpenTooLongTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithDoorAlarmState adds DoorAlarmState (property field) + WithDoorAlarmState(OptionalProperty) AccessDoorBuilder + // WithDoorAlarmStateBuilder adds DoorAlarmState (property field) which is build by the builder + WithDoorAlarmStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithMaskedAlarmValues adds MaskedAlarmValues (property field) + WithMaskedAlarmValues(OptionalProperty) AccessDoorBuilder + // WithMaskedAlarmValuesBuilder adds MaskedAlarmValues (property field) which is build by the builder + WithMaskedAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithMaintenanceRequired adds MaintenanceRequired (property field) + WithMaintenanceRequired(OptionalProperty) AccessDoorBuilder + // WithMaintenanceRequiredBuilder adds MaintenanceRequired (property field) which is build by the builder + WithMaintenanceRequiredBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) AccessDoorBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) AccessDoorBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithAlarmValues adds AlarmValues (property field) + WithAlarmValues(OptionalProperty) AccessDoorBuilder + // WithAlarmValuesBuilder adds AlarmValues (property field) which is build by the builder + WithAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithFaultValues adds FaultValues (property field) + WithFaultValues(OptionalProperty) AccessDoorBuilder + // WithFaultValuesBuilder adds FaultValues (property field) which is build by the builder + WithFaultValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) AccessDoorBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) AccessDoorBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) AccessDoorBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) AccessDoorBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) AccessDoorBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) AccessDoorBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) AccessDoorBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) AccessDoorBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) AccessDoorBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) AccessDoorBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AccessDoorBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AccessDoorBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(ReadableProperty) AccessDoorBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) AccessDoorBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) AccessDoorBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) AccessDoorBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) AccessDoorBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AccessDoorBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AccessDoorBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AccessDoorBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder + // Build builds the AccessDoor or returns an error if something is wrong + Build() (AccessDoor, error) + // MustBuild does the same as Build but panics on error + MustBuild() AccessDoor +} + +// NewAccessDoorBuilder() creates a AccessDoorBuilder +func NewAccessDoorBuilder() AccessDoorBuilder { + return &_AccessDoorBuilder{_AccessDoor: new(_AccessDoor)} +} + +type _AccessDoorBuilder struct { + *_AccessDoor + + err *utils.MultiError +} + +var _ (AccessDoorBuilder) = (*_AccessDoorBuilder)(nil) + +func (b *_AccessDoorBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, doorStatus OptionalProperty, lockStatus OptionalProperty, securedStatus OptionalProperty, doorMembers OptionalProperty, doorPulseTime ReadableProperty, doorExtendedPulseTime ReadableProperty, doorUnlockDelayTime OptionalProperty, doorOpenTooLongTime ReadableProperty, doorAlarmState OptionalProperty, maskedAlarmValues OptionalProperty, maintenanceRequired OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessDoorBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithDoorStatus(doorStatus).WithLockStatus(lockStatus).WithSecuredStatus(securedStatus).WithDoorMembers(doorMembers).WithDoorPulseTime(doorPulseTime).WithDoorExtendedPulseTime(doorExtendedPulseTime).WithDoorUnlockDelayTime(doorUnlockDelayTime).WithDoorOpenTooLongTime(doorOpenTooLongTime).WithDoorAlarmState(doorAlarmState).WithMaskedAlarmValues(maskedAlarmValues).WithMaintenanceRequired(maintenanceRequired).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithAlarmValues(alarmValues).WithFaultValues(faultValues).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AccessDoorBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AccessDoorBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AccessDoorBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithObjectName(objectName ReadableProperty) AccessDoorBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AccessDoorBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithObjectType(objectType ReadableProperty) AccessDoorBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AccessDoorBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithPresentValue(presentValue WritableProperty) AccessDoorBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_AccessDoorBuilder) WithPresentValueBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.PresentValue.CreateWritablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithDescription(description OptionalProperty) AccessDoorBuilder { + b.Description = description + return b +} + +func (b *_AccessDoorBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithStatusFlags(statusFlags ReadableProperty) AccessDoorBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AccessDoorBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithEventState(eventState ReadableProperty) AccessDoorBuilder { + b.EventState = eventState + return b +} + +func (b *_AccessDoorBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithReliability(reliability ReadableProperty) AccessDoorBuilder { + b.Reliability = reliability + return b +} + +func (b *_AccessDoorBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithOutOfService(outOfService ReadableProperty) AccessDoorBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_AccessDoorBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithPriorityArray(priorityArray ReadableProperty) AccessDoorBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_AccessDoorBuilder) WithPriorityArrayBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.PriorityArray.CreateReadablePropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithRelinquishDefault(relinquishDefault ReadableProperty) AccessDoorBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_AccessDoorBuilder) WithRelinquishDefaultBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateReadablePropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithDoorStatus(doorStatus OptionalProperty) AccessDoorBuilder { + b.DoorStatus = doorStatus + return b +} + +func (b *_AccessDoorBuilder) WithDoorStatusBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.DoorStatus.CreateOptionalPropertyBuilder()) + var err error + b.DoorStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithLockStatus(lockStatus OptionalProperty) AccessDoorBuilder { + b.LockStatus = lockStatus + return b +} + +func (b *_AccessDoorBuilder) WithLockStatusBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.LockStatus.CreateOptionalPropertyBuilder()) + var err error + b.LockStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithSecuredStatus(securedStatus OptionalProperty) AccessDoorBuilder { + b.SecuredStatus = securedStatus + return b +} + +func (b *_AccessDoorBuilder) WithSecuredStatusBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.SecuredStatus.CreateOptionalPropertyBuilder()) + var err error + b.SecuredStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithDoorMembers(doorMembers OptionalProperty) AccessDoorBuilder { + b.DoorMembers = doorMembers + return b +} + +func (b *_AccessDoorBuilder) WithDoorMembersBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.DoorMembers.CreateOptionalPropertyBuilder()) + var err error + b.DoorMembers, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithDoorPulseTime(doorPulseTime ReadableProperty) AccessDoorBuilder { + b.DoorPulseTime = doorPulseTime + return b +} + +func (b *_AccessDoorBuilder) WithDoorPulseTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.DoorPulseTime.CreateReadablePropertyBuilder()) + var err error + b.DoorPulseTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithDoorExtendedPulseTime(doorExtendedPulseTime ReadableProperty) AccessDoorBuilder { + b.DoorExtendedPulseTime = doorExtendedPulseTime + return b +} + +func (b *_AccessDoorBuilder) WithDoorExtendedPulseTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.DoorExtendedPulseTime.CreateReadablePropertyBuilder()) + var err error + b.DoorExtendedPulseTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithDoorUnlockDelayTime(doorUnlockDelayTime OptionalProperty) AccessDoorBuilder { + b.DoorUnlockDelayTime = doorUnlockDelayTime + return b +} + +func (b *_AccessDoorBuilder) WithDoorUnlockDelayTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.DoorUnlockDelayTime.CreateOptionalPropertyBuilder()) + var err error + b.DoorUnlockDelayTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithDoorOpenTooLongTime(doorOpenTooLongTime ReadableProperty) AccessDoorBuilder { + b.DoorOpenTooLongTime = doorOpenTooLongTime + return b +} + +func (b *_AccessDoorBuilder) WithDoorOpenTooLongTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.DoorOpenTooLongTime.CreateReadablePropertyBuilder()) + var err error + b.DoorOpenTooLongTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithDoorAlarmState(doorAlarmState OptionalProperty) AccessDoorBuilder { + b.DoorAlarmState = doorAlarmState + return b +} + +func (b *_AccessDoorBuilder) WithDoorAlarmStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.DoorAlarmState.CreateOptionalPropertyBuilder()) + var err error + b.DoorAlarmState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithMaskedAlarmValues(maskedAlarmValues OptionalProperty) AccessDoorBuilder { + b.MaskedAlarmValues = maskedAlarmValues + return b +} + +func (b *_AccessDoorBuilder) WithMaskedAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.MaskedAlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.MaskedAlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithMaintenanceRequired(maintenanceRequired OptionalProperty) AccessDoorBuilder { + b.MaintenanceRequired = maintenanceRequired + return b +} + +func (b *_AccessDoorBuilder) WithMaintenanceRequiredBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.MaintenanceRequired.CreateOptionalPropertyBuilder()) + var err error + b.MaintenanceRequired, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithTimeDelay(timeDelay OptionalProperty) AccessDoorBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_AccessDoorBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithNotificationClass(notificationClass OptionalProperty) AccessDoorBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_AccessDoorBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithAlarmValues(alarmValues OptionalProperty) AccessDoorBuilder { + b.AlarmValues = alarmValues + return b +} + +func (b *_AccessDoorBuilder) WithAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.AlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithFaultValues(faultValues OptionalProperty) AccessDoorBuilder { + b.FaultValues = faultValues + return b +} + +func (b *_AccessDoorBuilder) WithFaultValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.FaultValues.CreateOptionalPropertyBuilder()) + var err error + b.FaultValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithEventEnable(eventEnable OptionalProperty) AccessDoorBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_AccessDoorBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) AccessDoorBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_AccessDoorBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithNotifyType(notifyType OptionalProperty) AccessDoorBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_AccessDoorBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) AccessDoorBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_AccessDoorBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) AccessDoorBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_AccessDoorBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) AccessDoorBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_AccessDoorBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) AccessDoorBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_AccessDoorBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) AccessDoorBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_AccessDoorBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) AccessDoorBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_AccessDoorBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) AccessDoorBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_AccessDoorBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AccessDoorBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AccessDoorBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithPropertyList(propertyList ReadableProperty) AccessDoorBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AccessDoorBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithCurrentCommandPriority(currentCommandPriority ReadableProperty) AccessDoorBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_AccessDoorBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateReadablePropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithValueSource(valueSource OptionalProperty) AccessDoorBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_AccessDoorBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) AccessDoorBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_AccessDoorBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) AccessDoorBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_AccessDoorBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) AccessDoorBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_AccessDoorBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithTags(tags OptionalProperty) AccessDoorBuilder { + b.Tags = tags + return b +} + +func (b *_AccessDoorBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithProfileLocation(profileLocation OptionalProperty) AccessDoorBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AccessDoorBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) WithProfileName(profileName OptionalProperty) AccessDoorBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AccessDoorBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessDoorBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessDoorBuilder) Build() (AccessDoor, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.DoorStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'doorStatus' not set")) + } + if b.LockStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lockStatus' not set")) + } + if b.SecuredStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'securedStatus' not set")) + } + if b.DoorMembers == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'doorMembers' not set")) + } + if b.DoorPulseTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'doorPulseTime' not set")) + } + if b.DoorExtendedPulseTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'doorExtendedPulseTime' not set")) + } + if b.DoorUnlockDelayTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'doorUnlockDelayTime' not set")) + } + if b.DoorOpenTooLongTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'doorOpenTooLongTime' not set")) + } + if b.DoorAlarmState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'doorAlarmState' not set")) + } + if b.MaskedAlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maskedAlarmValues' not set")) + } + if b.MaintenanceRequired == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maintenanceRequired' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.AlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValues' not set")) + } + if b.FaultValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultValues' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AccessDoor.deepCopy(), nil +} + +func (b *_AccessDoorBuilder) MustBuild() AccessDoor { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AccessDoorBuilder) DeepCopy() any { + _copy := b.CreateAccessDoorBuilder().(*_AccessDoorBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAccessDoorBuilder creates a AccessDoorBuilder +func (b *_AccessDoor) CreateAccessDoorBuilder() AccessDoorBuilder { + if b == nil { + return NewAccessDoorBuilder() + } + return &_AccessDoorBuilder{_AccessDoor: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AccessDoor) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AccessDoor) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AccessDoor) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AccessDoor) GetPresentValue() WritableProperty { + return m.PresentValue +} + +func (m *_AccessDoor) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AccessDoor) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_AccessDoor) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_AccessDoor) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_AccessDoor) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_AccessDoor) GetPriorityArray() ReadableProperty { + return m.PriorityArray +} + +func (m *_AccessDoor) GetRelinquishDefault() ReadableProperty { + return m.RelinquishDefault +} + +func (m *_AccessDoor) GetDoorStatus() OptionalProperty { + return m.DoorStatus +} + +func (m *_AccessDoor) GetLockStatus() OptionalProperty { + return m.LockStatus +} + +func (m *_AccessDoor) GetSecuredStatus() OptionalProperty { + return m.SecuredStatus +} + +func (m *_AccessDoor) GetDoorMembers() OptionalProperty { + return m.DoorMembers +} + +func (m *_AccessDoor) GetDoorPulseTime() ReadableProperty { + return m.DoorPulseTime +} + +func (m *_AccessDoor) GetDoorExtendedPulseTime() ReadableProperty { + return m.DoorExtendedPulseTime +} + +func (m *_AccessDoor) GetDoorUnlockDelayTime() OptionalProperty { + return m.DoorUnlockDelayTime +} + +func (m *_AccessDoor) GetDoorOpenTooLongTime() ReadableProperty { + return m.DoorOpenTooLongTime +} + +func (m *_AccessDoor) GetDoorAlarmState() OptionalProperty { + return m.DoorAlarmState +} + +func (m *_AccessDoor) GetMaskedAlarmValues() OptionalProperty { + return m.MaskedAlarmValues +} + +func (m *_AccessDoor) GetMaintenanceRequired() OptionalProperty { + return m.MaintenanceRequired +} + +func (m *_AccessDoor) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_AccessDoor) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_AccessDoor) GetAlarmValues() OptionalProperty { + return m.AlarmValues +} + +func (m *_AccessDoor) GetFaultValues() OptionalProperty { + return m.FaultValues +} + +func (m *_AccessDoor) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_AccessDoor) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_AccessDoor) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_AccessDoor) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_AccessDoor) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_AccessDoor) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_AccessDoor) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_AccessDoor) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_AccessDoor) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_AccessDoor) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_AccessDoor) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_AccessDoor) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AccessDoor) GetCurrentCommandPriority() ReadableProperty { + return m.CurrentCommandPriority +} + +func (m *_AccessDoor) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_AccessDoor) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_AccessDoor) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_AccessDoor) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_AccessDoor) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AccessDoor) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AccessDoor) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAccessDoor(structType any) AccessDoor { + if casted, ok := structType.(AccessDoor); ok { + return casted + } + if casted, ok := structType.(*AccessDoor); ok { + return *casted + } + return nil +} + +func (m *_AccessDoor) GetTypeName() string { + return "AccessDoor" +} + +func (m *_AccessDoor) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (doorStatus) + lengthInBits += m.DoorStatus.GetLengthInBits(ctx) + + // Simple field (lockStatus) + lengthInBits += m.LockStatus.GetLengthInBits(ctx) + + // Simple field (securedStatus) + lengthInBits += m.SecuredStatus.GetLengthInBits(ctx) + + // Simple field (doorMembers) + lengthInBits += m.DoorMembers.GetLengthInBits(ctx) + + // Simple field (doorPulseTime) + lengthInBits += m.DoorPulseTime.GetLengthInBits(ctx) + + // Simple field (doorExtendedPulseTime) + lengthInBits += m.DoorExtendedPulseTime.GetLengthInBits(ctx) + + // Simple field (doorUnlockDelayTime) + lengthInBits += m.DoorUnlockDelayTime.GetLengthInBits(ctx) + + // Simple field (doorOpenTooLongTime) + lengthInBits += m.DoorOpenTooLongTime.GetLengthInBits(ctx) + + // Simple field (doorAlarmState) + lengthInBits += m.DoorAlarmState.GetLengthInBits(ctx) + + // Simple field (maskedAlarmValues) + lengthInBits += m.MaskedAlarmValues.GetLengthInBits(ctx) + + // Simple field (maintenanceRequired) + lengthInBits += m.MaintenanceRequired.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (alarmValues) + lengthInBits += m.AlarmValues.GetLengthInBits(ctx) + + // Simple field (faultValues) + lengthInBits += m.FaultValues.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AccessDoor) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AccessDoorParse(ctx context.Context, theBytes []byte) (AccessDoor, error) { + return AccessDoorParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AccessDoorParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessDoor, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessDoor, error) { + return AccessDoorParseWithBuffer(ctx, readBuffer) + } +} + +func AccessDoorParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AccessDoor, error) { + v, err := (&_AccessDoor{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AccessDoor) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__accessDoor AccessDoor, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AccessDoor"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AccessDoor") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[WritableProperty](ctx, "presentValue", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetDoorValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + priorityArray, err := ReadSimpleField[ReadableProperty](ctx, "priorityArray", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[ReadableProperty](ctx, "relinquishDefault", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDoorValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + doorStatus, err := ReadSimpleField[OptionalProperty](ctx, "doorStatus", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDoorStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'doorStatus' field")) + } + m.DoorStatus = doorStatus + + lockStatus, err := ReadSimpleField[OptionalProperty](ctx, "lockStatus", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLockStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lockStatus' field")) + } + m.LockStatus = lockStatus + + securedStatus, err := ReadSimpleField[OptionalProperty](ctx, "securedStatus", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDoorSecuredStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'securedStatus' field")) + } + m.SecuredStatus = securedStatus + + doorMembers, err := ReadSimpleField[OptionalProperty](ctx, "doorMembers", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'doorMembers' field")) + } + m.DoorMembers = doorMembers + + doorPulseTime, err := ReadSimpleField[ReadableProperty](ctx, "doorPulseTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'doorPulseTime' field")) + } + m.DoorPulseTime = doorPulseTime + + doorExtendedPulseTime, err := ReadSimpleField[ReadableProperty](ctx, "doorExtendedPulseTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'doorExtendedPulseTime' field")) + } + m.DoorExtendedPulseTime = doorExtendedPulseTime + + doorUnlockDelayTime, err := ReadSimpleField[OptionalProperty](ctx, "doorUnlockDelayTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'doorUnlockDelayTime' field")) + } + m.DoorUnlockDelayTime = doorUnlockDelayTime + + doorOpenTooLongTime, err := ReadSimpleField[ReadableProperty](ctx, "doorOpenTooLongTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'doorOpenTooLongTime' field")) + } + m.DoorOpenTooLongTime = doorOpenTooLongTime + + doorAlarmState, err := ReadSimpleField[OptionalProperty](ctx, "doorAlarmState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDoorAlarmState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'doorAlarmState' field")) + } + m.DoorAlarmState = doorAlarmState + + maskedAlarmValues, err := ReadSimpleField[OptionalProperty](ctx, "maskedAlarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDoorAlarmState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maskedAlarmValues' field")) + } + m.MaskedAlarmValues = maskedAlarmValues + + maintenanceRequired, err := ReadSimpleField[OptionalProperty](ctx, "maintenanceRequired", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetMaintenance")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maintenanceRequired' field")) + } + m.MaintenanceRequired = maintenanceRequired + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + alarmValues, err := ReadSimpleField[OptionalProperty](ctx, "alarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDoorAlarmState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValues' field")) + } + m.AlarmValues = alarmValues + + faultValues, err := ReadSimpleField[OptionalProperty](ctx, "faultValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDoorAlarmState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultValues' field")) + } + m.FaultValues = faultValues + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + currentCommandPriority, err := ReadSimpleField[ReadableProperty](ctx, "currentCommandPriority", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AccessDoor"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AccessDoor") + } + + return m, nil +} + +func (m *_AccessDoor) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AccessDoor) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AccessDoor"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AccessDoor") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "doorStatus", m.GetDoorStatus(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'doorStatus' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lockStatus", m.GetLockStatus(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lockStatus' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "securedStatus", m.GetSecuredStatus(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'securedStatus' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "doorMembers", m.GetDoorMembers(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'doorMembers' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "doorPulseTime", m.GetDoorPulseTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'doorPulseTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "doorExtendedPulseTime", m.GetDoorExtendedPulseTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'doorExtendedPulseTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "doorUnlockDelayTime", m.GetDoorUnlockDelayTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'doorUnlockDelayTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "doorOpenTooLongTime", m.GetDoorOpenTooLongTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'doorOpenTooLongTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "doorAlarmState", m.GetDoorAlarmState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'doorAlarmState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maskedAlarmValues", m.GetMaskedAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maskedAlarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maintenanceRequired", m.GetMaintenanceRequired(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maintenanceRequired' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValues", m.GetAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultValues", m.GetFaultValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AccessDoor"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AccessDoor") + } + return nil +} + +func (m *_AccessDoor) IsAccessDoor() {} + +func (m *_AccessDoor) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AccessDoor) deepCopy() *_AccessDoor { + if m == nil { + return nil + } + _AccessDoorCopy := &_AccessDoor{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(WritableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.PriorityArray.DeepCopy().(ReadableProperty), + m.RelinquishDefault.DeepCopy().(ReadableProperty), + m.DoorStatus.DeepCopy().(OptionalProperty), + m.LockStatus.DeepCopy().(OptionalProperty), + m.SecuredStatus.DeepCopy().(OptionalProperty), + m.DoorMembers.DeepCopy().(OptionalProperty), + m.DoorPulseTime.DeepCopy().(ReadableProperty), + m.DoorExtendedPulseTime.DeepCopy().(ReadableProperty), + m.DoorUnlockDelayTime.DeepCopy().(OptionalProperty), + m.DoorOpenTooLongTime.DeepCopy().(ReadableProperty), + m.DoorAlarmState.DeepCopy().(OptionalProperty), + m.MaskedAlarmValues.DeepCopy().(OptionalProperty), + m.MaintenanceRequired.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.AlarmValues.DeepCopy().(OptionalProperty), + m.FaultValues.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.CurrentCommandPriority.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AccessDoorCopy +} + +func (m *_AccessDoor) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/AccessPoint.go b/plc4go/protocols/bacnetip/readwrite/model/AccessPoint.go new file mode 100644 index 00000000000..fe92340f0ed --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AccessPoint.go @@ -0,0 +1,3056 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AccessPoint is the corresponding interface of AccessPoint +type AccessPoint interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetAuthenticationStatus returns AuthenticationStatus (property field) + GetAuthenticationStatus() ReadableProperty + // GetActiveAuthenticationPolicy returns ActiveAuthenticationPolicy (property field) + GetActiveAuthenticationPolicy() ReadableProperty + // GetNumberOfAuthenticationPolicies returns NumberOfAuthenticationPolicies (property field) + GetNumberOfAuthenticationPolicies() ReadableProperty + // GetAuthenticationPolicyList returns AuthenticationPolicyList (property field) + GetAuthenticationPolicyList() OptionalProperty + // GetAuthenticationPolicyNames returns AuthenticationPolicyNames (property field) + GetAuthenticationPolicyNames() OptionalProperty + // GetAuthorizationMode returns AuthorizationMode (property field) + GetAuthorizationMode() ReadableProperty + // GetVerificationTime returns VerificationTime (property field) + GetVerificationTime() OptionalProperty + // GetLockout returns Lockout (property field) + GetLockout() OptionalProperty + // GetLockoutRelinquishTime returns LockoutRelinquishTime (property field) + GetLockoutRelinquishTime() OptionalProperty + // GetFailedAttempts returns FailedAttempts (property field) + GetFailedAttempts() OptionalProperty + // GetFailedAttemptEvents returns FailedAttemptEvents (property field) + GetFailedAttemptEvents() OptionalProperty + // GetMaxFailedAttempts returns MaxFailedAttempts (property field) + GetMaxFailedAttempts() OptionalProperty + // GetFailedAttemptsTime returns FailedAttemptsTime (property field) + GetFailedAttemptsTime() OptionalProperty + // GetThreatLevel returns ThreatLevel (property field) + GetThreatLevel() OptionalProperty + // GetOccupancyUpperLimitEnforced returns OccupancyUpperLimitEnforced (property field) + GetOccupancyUpperLimitEnforced() OptionalProperty + // GetOccupancyLowerLimitEnforced returns OccupancyLowerLimitEnforced (property field) + GetOccupancyLowerLimitEnforced() OptionalProperty + // GetOccupancyCountAdjust returns OccupancyCountAdjust (property field) + GetOccupancyCountAdjust() OptionalProperty + // GetAccompanimentTime returns AccompanimentTime (property field) + GetAccompanimentTime() OptionalProperty + // GetAccessEvent returns AccessEvent (property field) + GetAccessEvent() ReadableProperty + // GetAccessEventTag returns AccessEventTag (property field) + GetAccessEventTag() ReadableProperty + // GetAccessEventTime returns AccessEventTime (property field) + GetAccessEventTime() ReadableProperty + // GetAccessEventCredential returns AccessEventCredential (property field) + GetAccessEventCredential() ReadableProperty + // GetAccessEventAuthenticationFactor returns AccessEventAuthenticationFactor (property field) + GetAccessEventAuthenticationFactor() OptionalProperty + // GetAccessDoors returns AccessDoors (property field) + GetAccessDoors() ReadableProperty + // GetPriorityForWriting returns PriorityForWriting (property field) + GetPriorityForWriting() ReadableProperty + // GetMusterPoint returns MusterPoint (property field) + GetMusterPoint() OptionalProperty + // GetZoneTo returns ZoneTo (property field) + GetZoneTo() OptionalProperty + // GetZoneFrom returns ZoneFrom (property field) + GetZoneFrom() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetTransactionNotificationClass returns TransactionNotificationClass (property field) + GetTransactionNotificationClass() OptionalProperty + // GetAccessAlarmEvents returns AccessAlarmEvents (property field) + GetAccessAlarmEvents() OptionalProperty + // GetAccessTransactionEvents returns AccessTransactionEvents (property field) + GetAccessTransactionEvents() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAccessPoint is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAccessPoint() + // CreateBuilder creates a AccessPointBuilder + CreateAccessPointBuilder() AccessPointBuilder +} + +// _AccessPoint is the data-structure of this message +type _AccessPoint struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability ReadableProperty + OutOfService ReadableProperty + AuthenticationStatus ReadableProperty + ActiveAuthenticationPolicy ReadableProperty + NumberOfAuthenticationPolicies ReadableProperty + AuthenticationPolicyList OptionalProperty + AuthenticationPolicyNames OptionalProperty + AuthorizationMode ReadableProperty + VerificationTime OptionalProperty + Lockout OptionalProperty + LockoutRelinquishTime OptionalProperty + FailedAttempts OptionalProperty + FailedAttemptEvents OptionalProperty + MaxFailedAttempts OptionalProperty + FailedAttemptsTime OptionalProperty + ThreatLevel OptionalProperty + OccupancyUpperLimitEnforced OptionalProperty + OccupancyLowerLimitEnforced OptionalProperty + OccupancyCountAdjust OptionalProperty + AccompanimentTime OptionalProperty + AccessEvent ReadableProperty + AccessEventTag ReadableProperty + AccessEventTime ReadableProperty + AccessEventCredential ReadableProperty + AccessEventAuthenticationFactor OptionalProperty + AccessDoors ReadableProperty + PriorityForWriting ReadableProperty + MusterPoint OptionalProperty + ZoneTo OptionalProperty + ZoneFrom OptionalProperty + NotificationClass OptionalProperty + TransactionNotificationClass OptionalProperty + AccessAlarmEvents OptionalProperty + AccessTransactionEvents OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AccessPoint = (*_AccessPoint)(nil) + +// NewAccessPoint factory function for _AccessPoint +func NewAccessPoint(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, authenticationStatus ReadableProperty, activeAuthenticationPolicy ReadableProperty, numberOfAuthenticationPolicies ReadableProperty, authenticationPolicyList OptionalProperty, authenticationPolicyNames OptionalProperty, authorizationMode ReadableProperty, verificationTime OptionalProperty, lockout OptionalProperty, lockoutRelinquishTime OptionalProperty, failedAttempts OptionalProperty, failedAttemptEvents OptionalProperty, maxFailedAttempts OptionalProperty, failedAttemptsTime OptionalProperty, threatLevel OptionalProperty, occupancyUpperLimitEnforced OptionalProperty, occupancyLowerLimitEnforced OptionalProperty, occupancyCountAdjust OptionalProperty, accompanimentTime OptionalProperty, accessEvent ReadableProperty, accessEventTag ReadableProperty, accessEventTime ReadableProperty, accessEventCredential ReadableProperty, accessEventAuthenticationFactor OptionalProperty, accessDoors ReadableProperty, priorityForWriting ReadableProperty, musterPoint OptionalProperty, zoneTo OptionalProperty, zoneFrom OptionalProperty, notificationClass OptionalProperty, transactionNotificationClass OptionalProperty, accessAlarmEvents OptionalProperty, accessTransactionEvents OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AccessPoint { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AccessPoint must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AccessPoint must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AccessPoint must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AccessPoint must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for AccessPoint must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for AccessPoint must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for AccessPoint must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for AccessPoint must not be nil") + } + if authenticationStatus == nil { + panic("authenticationStatus of type ReadableProperty for AccessPoint must not be nil") + } + if activeAuthenticationPolicy == nil { + panic("activeAuthenticationPolicy of type ReadableProperty for AccessPoint must not be nil") + } + if numberOfAuthenticationPolicies == nil { + panic("numberOfAuthenticationPolicies of type ReadableProperty for AccessPoint must not be nil") + } + if authenticationPolicyList == nil { + panic("authenticationPolicyList of type OptionalProperty for AccessPoint must not be nil") + } + if authenticationPolicyNames == nil { + panic("authenticationPolicyNames of type OptionalProperty for AccessPoint must not be nil") + } + if authorizationMode == nil { + panic("authorizationMode of type ReadableProperty for AccessPoint must not be nil") + } + if verificationTime == nil { + panic("verificationTime of type OptionalProperty for AccessPoint must not be nil") + } + if lockout == nil { + panic("lockout of type OptionalProperty for AccessPoint must not be nil") + } + if lockoutRelinquishTime == nil { + panic("lockoutRelinquishTime of type OptionalProperty for AccessPoint must not be nil") + } + if failedAttempts == nil { + panic("failedAttempts of type OptionalProperty for AccessPoint must not be nil") + } + if failedAttemptEvents == nil { + panic("failedAttemptEvents of type OptionalProperty for AccessPoint must not be nil") + } + if maxFailedAttempts == nil { + panic("maxFailedAttempts of type OptionalProperty for AccessPoint must not be nil") + } + if failedAttemptsTime == nil { + panic("failedAttemptsTime of type OptionalProperty for AccessPoint must not be nil") + } + if threatLevel == nil { + panic("threatLevel of type OptionalProperty for AccessPoint must not be nil") + } + if occupancyUpperLimitEnforced == nil { + panic("occupancyUpperLimitEnforced of type OptionalProperty for AccessPoint must not be nil") + } + if occupancyLowerLimitEnforced == nil { + panic("occupancyLowerLimitEnforced of type OptionalProperty for AccessPoint must not be nil") + } + if occupancyCountAdjust == nil { + panic("occupancyCountAdjust of type OptionalProperty for AccessPoint must not be nil") + } + if accompanimentTime == nil { + panic("accompanimentTime of type OptionalProperty for AccessPoint must not be nil") + } + if accessEvent == nil { + panic("accessEvent of type ReadableProperty for AccessPoint must not be nil") + } + if accessEventTag == nil { + panic("accessEventTag of type ReadableProperty for AccessPoint must not be nil") + } + if accessEventTime == nil { + panic("accessEventTime of type ReadableProperty for AccessPoint must not be nil") + } + if accessEventCredential == nil { + panic("accessEventCredential of type ReadableProperty for AccessPoint must not be nil") + } + if accessEventAuthenticationFactor == nil { + panic("accessEventAuthenticationFactor of type OptionalProperty for AccessPoint must not be nil") + } + if accessDoors == nil { + panic("accessDoors of type ReadableProperty for AccessPoint must not be nil") + } + if priorityForWriting == nil { + panic("priorityForWriting of type ReadableProperty for AccessPoint must not be nil") + } + if musterPoint == nil { + panic("musterPoint of type OptionalProperty for AccessPoint must not be nil") + } + if zoneTo == nil { + panic("zoneTo of type OptionalProperty for AccessPoint must not be nil") + } + if zoneFrom == nil { + panic("zoneFrom of type OptionalProperty for AccessPoint must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for AccessPoint must not be nil") + } + if transactionNotificationClass == nil { + panic("transactionNotificationClass of type OptionalProperty for AccessPoint must not be nil") + } + if accessAlarmEvents == nil { + panic("accessAlarmEvents of type OptionalProperty for AccessPoint must not be nil") + } + if accessTransactionEvents == nil { + panic("accessTransactionEvents of type OptionalProperty for AccessPoint must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for AccessPoint must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for AccessPoint must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for AccessPoint must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for AccessPoint must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for AccessPoint must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for AccessPoint must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for AccessPoint must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for AccessPoint must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for AccessPoint must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for AccessPoint must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AccessPoint must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AccessPoint must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AccessPoint must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AccessPoint must not be nil") + } + return &_AccessPoint{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, AuthenticationStatus: authenticationStatus, ActiveAuthenticationPolicy: activeAuthenticationPolicy, NumberOfAuthenticationPolicies: numberOfAuthenticationPolicies, AuthenticationPolicyList: authenticationPolicyList, AuthenticationPolicyNames: authenticationPolicyNames, AuthorizationMode: authorizationMode, VerificationTime: verificationTime, Lockout: lockout, LockoutRelinquishTime: lockoutRelinquishTime, FailedAttempts: failedAttempts, FailedAttemptEvents: failedAttemptEvents, MaxFailedAttempts: maxFailedAttempts, FailedAttemptsTime: failedAttemptsTime, ThreatLevel: threatLevel, OccupancyUpperLimitEnforced: occupancyUpperLimitEnforced, OccupancyLowerLimitEnforced: occupancyLowerLimitEnforced, OccupancyCountAdjust: occupancyCountAdjust, AccompanimentTime: accompanimentTime, AccessEvent: accessEvent, AccessEventTag: accessEventTag, AccessEventTime: accessEventTime, AccessEventCredential: accessEventCredential, AccessEventAuthenticationFactor: accessEventAuthenticationFactor, AccessDoors: accessDoors, PriorityForWriting: priorityForWriting, MusterPoint: musterPoint, ZoneTo: zoneTo, ZoneFrom: zoneFrom, NotificationClass: notificationClass, TransactionNotificationClass: transactionNotificationClass, AccessAlarmEvents: accessAlarmEvents, AccessTransactionEvents: accessTransactionEvents, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AccessPointBuilder is a builder for AccessPoint +type AccessPointBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, authenticationStatus ReadableProperty, activeAuthenticationPolicy ReadableProperty, numberOfAuthenticationPolicies ReadableProperty, authenticationPolicyList OptionalProperty, authenticationPolicyNames OptionalProperty, authorizationMode ReadableProperty, verificationTime OptionalProperty, lockout OptionalProperty, lockoutRelinquishTime OptionalProperty, failedAttempts OptionalProperty, failedAttemptEvents OptionalProperty, maxFailedAttempts OptionalProperty, failedAttemptsTime OptionalProperty, threatLevel OptionalProperty, occupancyUpperLimitEnforced OptionalProperty, occupancyLowerLimitEnforced OptionalProperty, occupancyCountAdjust OptionalProperty, accompanimentTime OptionalProperty, accessEvent ReadableProperty, accessEventTag ReadableProperty, accessEventTime ReadableProperty, accessEventCredential ReadableProperty, accessEventAuthenticationFactor OptionalProperty, accessDoors ReadableProperty, priorityForWriting ReadableProperty, musterPoint OptionalProperty, zoneTo OptionalProperty, zoneFrom OptionalProperty, notificationClass OptionalProperty, transactionNotificationClass OptionalProperty, accessAlarmEvents OptionalProperty, accessTransactionEvents OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessPointBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AccessPointBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AccessPointBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AccessPointBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AccessPointBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AccessPointBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) AccessPointBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) AccessPointBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) AccessPointBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithAuthenticationStatus adds AuthenticationStatus (property field) + WithAuthenticationStatus(ReadableProperty) AccessPointBuilder + // WithAuthenticationStatusBuilder adds AuthenticationStatus (property field) which is build by the builder + WithAuthenticationStatusBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithActiveAuthenticationPolicy adds ActiveAuthenticationPolicy (property field) + WithActiveAuthenticationPolicy(ReadableProperty) AccessPointBuilder + // WithActiveAuthenticationPolicyBuilder adds ActiveAuthenticationPolicy (property field) which is build by the builder + WithActiveAuthenticationPolicyBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithNumberOfAuthenticationPolicies adds NumberOfAuthenticationPolicies (property field) + WithNumberOfAuthenticationPolicies(ReadableProperty) AccessPointBuilder + // WithNumberOfAuthenticationPoliciesBuilder adds NumberOfAuthenticationPolicies (property field) which is build by the builder + WithNumberOfAuthenticationPoliciesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithAuthenticationPolicyList adds AuthenticationPolicyList (property field) + WithAuthenticationPolicyList(OptionalProperty) AccessPointBuilder + // WithAuthenticationPolicyListBuilder adds AuthenticationPolicyList (property field) which is build by the builder + WithAuthenticationPolicyListBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithAuthenticationPolicyNames adds AuthenticationPolicyNames (property field) + WithAuthenticationPolicyNames(OptionalProperty) AccessPointBuilder + // WithAuthenticationPolicyNamesBuilder adds AuthenticationPolicyNames (property field) which is build by the builder + WithAuthenticationPolicyNamesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithAuthorizationMode adds AuthorizationMode (property field) + WithAuthorizationMode(ReadableProperty) AccessPointBuilder + // WithAuthorizationModeBuilder adds AuthorizationMode (property field) which is build by the builder + WithAuthorizationModeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithVerificationTime adds VerificationTime (property field) + WithVerificationTime(OptionalProperty) AccessPointBuilder + // WithVerificationTimeBuilder adds VerificationTime (property field) which is build by the builder + WithVerificationTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithLockout adds Lockout (property field) + WithLockout(OptionalProperty) AccessPointBuilder + // WithLockoutBuilder adds Lockout (property field) which is build by the builder + WithLockoutBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithLockoutRelinquishTime adds LockoutRelinquishTime (property field) + WithLockoutRelinquishTime(OptionalProperty) AccessPointBuilder + // WithLockoutRelinquishTimeBuilder adds LockoutRelinquishTime (property field) which is build by the builder + WithLockoutRelinquishTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithFailedAttempts adds FailedAttempts (property field) + WithFailedAttempts(OptionalProperty) AccessPointBuilder + // WithFailedAttemptsBuilder adds FailedAttempts (property field) which is build by the builder + WithFailedAttemptsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithFailedAttemptEvents adds FailedAttemptEvents (property field) + WithFailedAttemptEvents(OptionalProperty) AccessPointBuilder + // WithFailedAttemptEventsBuilder adds FailedAttemptEvents (property field) which is build by the builder + WithFailedAttemptEventsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithMaxFailedAttempts adds MaxFailedAttempts (property field) + WithMaxFailedAttempts(OptionalProperty) AccessPointBuilder + // WithMaxFailedAttemptsBuilder adds MaxFailedAttempts (property field) which is build by the builder + WithMaxFailedAttemptsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithFailedAttemptsTime adds FailedAttemptsTime (property field) + WithFailedAttemptsTime(OptionalProperty) AccessPointBuilder + // WithFailedAttemptsTimeBuilder adds FailedAttemptsTime (property field) which is build by the builder + WithFailedAttemptsTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithThreatLevel adds ThreatLevel (property field) + WithThreatLevel(OptionalProperty) AccessPointBuilder + // WithThreatLevelBuilder adds ThreatLevel (property field) which is build by the builder + WithThreatLevelBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithOccupancyUpperLimitEnforced adds OccupancyUpperLimitEnforced (property field) + WithOccupancyUpperLimitEnforced(OptionalProperty) AccessPointBuilder + // WithOccupancyUpperLimitEnforcedBuilder adds OccupancyUpperLimitEnforced (property field) which is build by the builder + WithOccupancyUpperLimitEnforcedBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithOccupancyLowerLimitEnforced adds OccupancyLowerLimitEnforced (property field) + WithOccupancyLowerLimitEnforced(OptionalProperty) AccessPointBuilder + // WithOccupancyLowerLimitEnforcedBuilder adds OccupancyLowerLimitEnforced (property field) which is build by the builder + WithOccupancyLowerLimitEnforcedBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithOccupancyCountAdjust adds OccupancyCountAdjust (property field) + WithOccupancyCountAdjust(OptionalProperty) AccessPointBuilder + // WithOccupancyCountAdjustBuilder adds OccupancyCountAdjust (property field) which is build by the builder + WithOccupancyCountAdjustBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithAccompanimentTime adds AccompanimentTime (property field) + WithAccompanimentTime(OptionalProperty) AccessPointBuilder + // WithAccompanimentTimeBuilder adds AccompanimentTime (property field) which is build by the builder + WithAccompanimentTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithAccessEvent adds AccessEvent (property field) + WithAccessEvent(ReadableProperty) AccessPointBuilder + // WithAccessEventBuilder adds AccessEvent (property field) which is build by the builder + WithAccessEventBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithAccessEventTag adds AccessEventTag (property field) + WithAccessEventTag(ReadableProperty) AccessPointBuilder + // WithAccessEventTagBuilder adds AccessEventTag (property field) which is build by the builder + WithAccessEventTagBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithAccessEventTime adds AccessEventTime (property field) + WithAccessEventTime(ReadableProperty) AccessPointBuilder + // WithAccessEventTimeBuilder adds AccessEventTime (property field) which is build by the builder + WithAccessEventTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithAccessEventCredential adds AccessEventCredential (property field) + WithAccessEventCredential(ReadableProperty) AccessPointBuilder + // WithAccessEventCredentialBuilder adds AccessEventCredential (property field) which is build by the builder + WithAccessEventCredentialBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithAccessEventAuthenticationFactor adds AccessEventAuthenticationFactor (property field) + WithAccessEventAuthenticationFactor(OptionalProperty) AccessPointBuilder + // WithAccessEventAuthenticationFactorBuilder adds AccessEventAuthenticationFactor (property field) which is build by the builder + WithAccessEventAuthenticationFactorBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithAccessDoors adds AccessDoors (property field) + WithAccessDoors(ReadableProperty) AccessPointBuilder + // WithAccessDoorsBuilder adds AccessDoors (property field) which is build by the builder + WithAccessDoorsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithPriorityForWriting adds PriorityForWriting (property field) + WithPriorityForWriting(ReadableProperty) AccessPointBuilder + // WithPriorityForWritingBuilder adds PriorityForWriting (property field) which is build by the builder + WithPriorityForWritingBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithMusterPoint adds MusterPoint (property field) + WithMusterPoint(OptionalProperty) AccessPointBuilder + // WithMusterPointBuilder adds MusterPoint (property field) which is build by the builder + WithMusterPointBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithZoneTo adds ZoneTo (property field) + WithZoneTo(OptionalProperty) AccessPointBuilder + // WithZoneToBuilder adds ZoneTo (property field) which is build by the builder + WithZoneToBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithZoneFrom adds ZoneFrom (property field) + WithZoneFrom(OptionalProperty) AccessPointBuilder + // WithZoneFromBuilder adds ZoneFrom (property field) which is build by the builder + WithZoneFromBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) AccessPointBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithTransactionNotificationClass adds TransactionNotificationClass (property field) + WithTransactionNotificationClass(OptionalProperty) AccessPointBuilder + // WithTransactionNotificationClassBuilder adds TransactionNotificationClass (property field) which is build by the builder + WithTransactionNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithAccessAlarmEvents adds AccessAlarmEvents (property field) + WithAccessAlarmEvents(OptionalProperty) AccessPointBuilder + // WithAccessAlarmEventsBuilder adds AccessAlarmEvents (property field) which is build by the builder + WithAccessAlarmEventsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithAccessTransactionEvents adds AccessTransactionEvents (property field) + WithAccessTransactionEvents(OptionalProperty) AccessPointBuilder + // WithAccessTransactionEventsBuilder adds AccessTransactionEvents (property field) which is build by the builder + WithAccessTransactionEventsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) AccessPointBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) AccessPointBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) AccessPointBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) AccessPointBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) AccessPointBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) AccessPointBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) AccessPointBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) AccessPointBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) AccessPointBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AccessPointBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AccessPointBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AccessPointBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AccessPointBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AccessPointBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder + // Build builds the AccessPoint or returns an error if something is wrong + Build() (AccessPoint, error) + // MustBuild does the same as Build but panics on error + MustBuild() AccessPoint +} + +// NewAccessPointBuilder() creates a AccessPointBuilder +func NewAccessPointBuilder() AccessPointBuilder { + return &_AccessPointBuilder{_AccessPoint: new(_AccessPoint)} +} + +type _AccessPointBuilder struct { + *_AccessPoint + + err *utils.MultiError +} + +var _ (AccessPointBuilder) = (*_AccessPointBuilder)(nil) + +func (b *_AccessPointBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, authenticationStatus ReadableProperty, activeAuthenticationPolicy ReadableProperty, numberOfAuthenticationPolicies ReadableProperty, authenticationPolicyList OptionalProperty, authenticationPolicyNames OptionalProperty, authorizationMode ReadableProperty, verificationTime OptionalProperty, lockout OptionalProperty, lockoutRelinquishTime OptionalProperty, failedAttempts OptionalProperty, failedAttemptEvents OptionalProperty, maxFailedAttempts OptionalProperty, failedAttemptsTime OptionalProperty, threatLevel OptionalProperty, occupancyUpperLimitEnforced OptionalProperty, occupancyLowerLimitEnforced OptionalProperty, occupancyCountAdjust OptionalProperty, accompanimentTime OptionalProperty, accessEvent ReadableProperty, accessEventTag ReadableProperty, accessEventTime ReadableProperty, accessEventCredential ReadableProperty, accessEventAuthenticationFactor OptionalProperty, accessDoors ReadableProperty, priorityForWriting ReadableProperty, musterPoint OptionalProperty, zoneTo OptionalProperty, zoneFrom OptionalProperty, notificationClass OptionalProperty, transactionNotificationClass OptionalProperty, accessAlarmEvents OptionalProperty, accessTransactionEvents OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessPointBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithAuthenticationStatus(authenticationStatus).WithActiveAuthenticationPolicy(activeAuthenticationPolicy).WithNumberOfAuthenticationPolicies(numberOfAuthenticationPolicies).WithAuthenticationPolicyList(authenticationPolicyList).WithAuthenticationPolicyNames(authenticationPolicyNames).WithAuthorizationMode(authorizationMode).WithVerificationTime(verificationTime).WithLockout(lockout).WithLockoutRelinquishTime(lockoutRelinquishTime).WithFailedAttempts(failedAttempts).WithFailedAttemptEvents(failedAttemptEvents).WithMaxFailedAttempts(maxFailedAttempts).WithFailedAttemptsTime(failedAttemptsTime).WithThreatLevel(threatLevel).WithOccupancyUpperLimitEnforced(occupancyUpperLimitEnforced).WithOccupancyLowerLimitEnforced(occupancyLowerLimitEnforced).WithOccupancyCountAdjust(occupancyCountAdjust).WithAccompanimentTime(accompanimentTime).WithAccessEvent(accessEvent).WithAccessEventTag(accessEventTag).WithAccessEventTime(accessEventTime).WithAccessEventCredential(accessEventCredential).WithAccessEventAuthenticationFactor(accessEventAuthenticationFactor).WithAccessDoors(accessDoors).WithPriorityForWriting(priorityForWriting).WithMusterPoint(musterPoint).WithZoneTo(zoneTo).WithZoneFrom(zoneFrom).WithNotificationClass(notificationClass).WithTransactionNotificationClass(transactionNotificationClass).WithAccessAlarmEvents(accessAlarmEvents).WithAccessTransactionEvents(accessTransactionEvents).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AccessPointBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AccessPointBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AccessPointBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithObjectName(objectName ReadableProperty) AccessPointBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AccessPointBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithObjectType(objectType ReadableProperty) AccessPointBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AccessPointBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithDescription(description OptionalProperty) AccessPointBuilder { + b.Description = description + return b +} + +func (b *_AccessPointBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithStatusFlags(statusFlags ReadableProperty) AccessPointBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AccessPointBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithEventState(eventState ReadableProperty) AccessPointBuilder { + b.EventState = eventState + return b +} + +func (b *_AccessPointBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithReliability(reliability ReadableProperty) AccessPointBuilder { + b.Reliability = reliability + return b +} + +func (b *_AccessPointBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithOutOfService(outOfService ReadableProperty) AccessPointBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_AccessPointBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAuthenticationStatus(authenticationStatus ReadableProperty) AccessPointBuilder { + b.AuthenticationStatus = authenticationStatus + return b +} + +func (b *_AccessPointBuilder) WithAuthenticationStatusBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AuthenticationStatus.CreateReadablePropertyBuilder()) + var err error + b.AuthenticationStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithActiveAuthenticationPolicy(activeAuthenticationPolicy ReadableProperty) AccessPointBuilder { + b.ActiveAuthenticationPolicy = activeAuthenticationPolicy + return b +} + +func (b *_AccessPointBuilder) WithActiveAuthenticationPolicyBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ActiveAuthenticationPolicy.CreateReadablePropertyBuilder()) + var err error + b.ActiveAuthenticationPolicy, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithNumberOfAuthenticationPolicies(numberOfAuthenticationPolicies ReadableProperty) AccessPointBuilder { + b.NumberOfAuthenticationPolicies = numberOfAuthenticationPolicies + return b +} + +func (b *_AccessPointBuilder) WithNumberOfAuthenticationPoliciesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.NumberOfAuthenticationPolicies.CreateReadablePropertyBuilder()) + var err error + b.NumberOfAuthenticationPolicies, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAuthenticationPolicyList(authenticationPolicyList OptionalProperty) AccessPointBuilder { + b.AuthenticationPolicyList = authenticationPolicyList + return b +} + +func (b *_AccessPointBuilder) WithAuthenticationPolicyListBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AuthenticationPolicyList.CreateOptionalPropertyBuilder()) + var err error + b.AuthenticationPolicyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAuthenticationPolicyNames(authenticationPolicyNames OptionalProperty) AccessPointBuilder { + b.AuthenticationPolicyNames = authenticationPolicyNames + return b +} + +func (b *_AccessPointBuilder) WithAuthenticationPolicyNamesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AuthenticationPolicyNames.CreateOptionalPropertyBuilder()) + var err error + b.AuthenticationPolicyNames, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAuthorizationMode(authorizationMode ReadableProperty) AccessPointBuilder { + b.AuthorizationMode = authorizationMode + return b +} + +func (b *_AccessPointBuilder) WithAuthorizationModeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AuthorizationMode.CreateReadablePropertyBuilder()) + var err error + b.AuthorizationMode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithVerificationTime(verificationTime OptionalProperty) AccessPointBuilder { + b.VerificationTime = verificationTime + return b +} + +func (b *_AccessPointBuilder) WithVerificationTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.VerificationTime.CreateOptionalPropertyBuilder()) + var err error + b.VerificationTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithLockout(lockout OptionalProperty) AccessPointBuilder { + b.Lockout = lockout + return b +} + +func (b *_AccessPointBuilder) WithLockoutBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.Lockout.CreateOptionalPropertyBuilder()) + var err error + b.Lockout, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithLockoutRelinquishTime(lockoutRelinquishTime OptionalProperty) AccessPointBuilder { + b.LockoutRelinquishTime = lockoutRelinquishTime + return b +} + +func (b *_AccessPointBuilder) WithLockoutRelinquishTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.LockoutRelinquishTime.CreateOptionalPropertyBuilder()) + var err error + b.LockoutRelinquishTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithFailedAttempts(failedAttempts OptionalProperty) AccessPointBuilder { + b.FailedAttempts = failedAttempts + return b +} + +func (b *_AccessPointBuilder) WithFailedAttemptsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.FailedAttempts.CreateOptionalPropertyBuilder()) + var err error + b.FailedAttempts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithFailedAttemptEvents(failedAttemptEvents OptionalProperty) AccessPointBuilder { + b.FailedAttemptEvents = failedAttemptEvents + return b +} + +func (b *_AccessPointBuilder) WithFailedAttemptEventsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.FailedAttemptEvents.CreateOptionalPropertyBuilder()) + var err error + b.FailedAttemptEvents, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithMaxFailedAttempts(maxFailedAttempts OptionalProperty) AccessPointBuilder { + b.MaxFailedAttempts = maxFailedAttempts + return b +} + +func (b *_AccessPointBuilder) WithMaxFailedAttemptsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.MaxFailedAttempts.CreateOptionalPropertyBuilder()) + var err error + b.MaxFailedAttempts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithFailedAttemptsTime(failedAttemptsTime OptionalProperty) AccessPointBuilder { + b.FailedAttemptsTime = failedAttemptsTime + return b +} + +func (b *_AccessPointBuilder) WithFailedAttemptsTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.FailedAttemptsTime.CreateOptionalPropertyBuilder()) + var err error + b.FailedAttemptsTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithThreatLevel(threatLevel OptionalProperty) AccessPointBuilder { + b.ThreatLevel = threatLevel + return b +} + +func (b *_AccessPointBuilder) WithThreatLevelBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ThreatLevel.CreateOptionalPropertyBuilder()) + var err error + b.ThreatLevel, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithOccupancyUpperLimitEnforced(occupancyUpperLimitEnforced OptionalProperty) AccessPointBuilder { + b.OccupancyUpperLimitEnforced = occupancyUpperLimitEnforced + return b +} + +func (b *_AccessPointBuilder) WithOccupancyUpperLimitEnforcedBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.OccupancyUpperLimitEnforced.CreateOptionalPropertyBuilder()) + var err error + b.OccupancyUpperLimitEnforced, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithOccupancyLowerLimitEnforced(occupancyLowerLimitEnforced OptionalProperty) AccessPointBuilder { + b.OccupancyLowerLimitEnforced = occupancyLowerLimitEnforced + return b +} + +func (b *_AccessPointBuilder) WithOccupancyLowerLimitEnforcedBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.OccupancyLowerLimitEnforced.CreateOptionalPropertyBuilder()) + var err error + b.OccupancyLowerLimitEnforced, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithOccupancyCountAdjust(occupancyCountAdjust OptionalProperty) AccessPointBuilder { + b.OccupancyCountAdjust = occupancyCountAdjust + return b +} + +func (b *_AccessPointBuilder) WithOccupancyCountAdjustBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.OccupancyCountAdjust.CreateOptionalPropertyBuilder()) + var err error + b.OccupancyCountAdjust, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAccompanimentTime(accompanimentTime OptionalProperty) AccessPointBuilder { + b.AccompanimentTime = accompanimentTime + return b +} + +func (b *_AccessPointBuilder) WithAccompanimentTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AccompanimentTime.CreateOptionalPropertyBuilder()) + var err error + b.AccompanimentTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAccessEvent(accessEvent ReadableProperty) AccessPointBuilder { + b.AccessEvent = accessEvent + return b +} + +func (b *_AccessPointBuilder) WithAccessEventBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AccessEvent.CreateReadablePropertyBuilder()) + var err error + b.AccessEvent, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAccessEventTag(accessEventTag ReadableProperty) AccessPointBuilder { + b.AccessEventTag = accessEventTag + return b +} + +func (b *_AccessPointBuilder) WithAccessEventTagBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AccessEventTag.CreateReadablePropertyBuilder()) + var err error + b.AccessEventTag, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAccessEventTime(accessEventTime ReadableProperty) AccessPointBuilder { + b.AccessEventTime = accessEventTime + return b +} + +func (b *_AccessPointBuilder) WithAccessEventTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AccessEventTime.CreateReadablePropertyBuilder()) + var err error + b.AccessEventTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAccessEventCredential(accessEventCredential ReadableProperty) AccessPointBuilder { + b.AccessEventCredential = accessEventCredential + return b +} + +func (b *_AccessPointBuilder) WithAccessEventCredentialBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AccessEventCredential.CreateReadablePropertyBuilder()) + var err error + b.AccessEventCredential, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAccessEventAuthenticationFactor(accessEventAuthenticationFactor OptionalProperty) AccessPointBuilder { + b.AccessEventAuthenticationFactor = accessEventAuthenticationFactor + return b +} + +func (b *_AccessPointBuilder) WithAccessEventAuthenticationFactorBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AccessEventAuthenticationFactor.CreateOptionalPropertyBuilder()) + var err error + b.AccessEventAuthenticationFactor, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAccessDoors(accessDoors ReadableProperty) AccessPointBuilder { + b.AccessDoors = accessDoors + return b +} + +func (b *_AccessPointBuilder) WithAccessDoorsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AccessDoors.CreateReadablePropertyBuilder()) + var err error + b.AccessDoors, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithPriorityForWriting(priorityForWriting ReadableProperty) AccessPointBuilder { + b.PriorityForWriting = priorityForWriting + return b +} + +func (b *_AccessPointBuilder) WithPriorityForWritingBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.PriorityForWriting.CreateReadablePropertyBuilder()) + var err error + b.PriorityForWriting, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithMusterPoint(musterPoint OptionalProperty) AccessPointBuilder { + b.MusterPoint = musterPoint + return b +} + +func (b *_AccessPointBuilder) WithMusterPointBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.MusterPoint.CreateOptionalPropertyBuilder()) + var err error + b.MusterPoint, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithZoneTo(zoneTo OptionalProperty) AccessPointBuilder { + b.ZoneTo = zoneTo + return b +} + +func (b *_AccessPointBuilder) WithZoneToBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ZoneTo.CreateOptionalPropertyBuilder()) + var err error + b.ZoneTo, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithZoneFrom(zoneFrom OptionalProperty) AccessPointBuilder { + b.ZoneFrom = zoneFrom + return b +} + +func (b *_AccessPointBuilder) WithZoneFromBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ZoneFrom.CreateOptionalPropertyBuilder()) + var err error + b.ZoneFrom, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithNotificationClass(notificationClass OptionalProperty) AccessPointBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_AccessPointBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithTransactionNotificationClass(transactionNotificationClass OptionalProperty) AccessPointBuilder { + b.TransactionNotificationClass = transactionNotificationClass + return b +} + +func (b *_AccessPointBuilder) WithTransactionNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.TransactionNotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.TransactionNotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAccessAlarmEvents(accessAlarmEvents OptionalProperty) AccessPointBuilder { + b.AccessAlarmEvents = accessAlarmEvents + return b +} + +func (b *_AccessPointBuilder) WithAccessAlarmEventsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AccessAlarmEvents.CreateOptionalPropertyBuilder()) + var err error + b.AccessAlarmEvents, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAccessTransactionEvents(accessTransactionEvents OptionalProperty) AccessPointBuilder { + b.AccessTransactionEvents = accessTransactionEvents + return b +} + +func (b *_AccessPointBuilder) WithAccessTransactionEventsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AccessTransactionEvents.CreateOptionalPropertyBuilder()) + var err error + b.AccessTransactionEvents, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithEventEnable(eventEnable OptionalProperty) AccessPointBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_AccessPointBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) AccessPointBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_AccessPointBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithNotifyType(notifyType OptionalProperty) AccessPointBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_AccessPointBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) AccessPointBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_AccessPointBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) AccessPointBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_AccessPointBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) AccessPointBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_AccessPointBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) AccessPointBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_AccessPointBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) AccessPointBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_AccessPointBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) AccessPointBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_AccessPointBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AccessPointBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AccessPointBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithPropertyList(propertyList ReadableProperty) AccessPointBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AccessPointBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithTags(tags OptionalProperty) AccessPointBuilder { + b.Tags = tags + return b +} + +func (b *_AccessPointBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithProfileLocation(profileLocation OptionalProperty) AccessPointBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AccessPointBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) WithProfileName(profileName OptionalProperty) AccessPointBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AccessPointBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessPointBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessPointBuilder) Build() (AccessPoint, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.AuthenticationStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'authenticationStatus' not set")) + } + if b.ActiveAuthenticationPolicy == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'activeAuthenticationPolicy' not set")) + } + if b.NumberOfAuthenticationPolicies == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'numberOfAuthenticationPolicies' not set")) + } + if b.AuthenticationPolicyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'authenticationPolicyList' not set")) + } + if b.AuthenticationPolicyNames == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'authenticationPolicyNames' not set")) + } + if b.AuthorizationMode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'authorizationMode' not set")) + } + if b.VerificationTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'verificationTime' not set")) + } + if b.Lockout == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lockout' not set")) + } + if b.LockoutRelinquishTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lockoutRelinquishTime' not set")) + } + if b.FailedAttempts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'failedAttempts' not set")) + } + if b.FailedAttemptEvents == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'failedAttemptEvents' not set")) + } + if b.MaxFailedAttempts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxFailedAttempts' not set")) + } + if b.FailedAttemptsTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'failedAttemptsTime' not set")) + } + if b.ThreatLevel == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'threatLevel' not set")) + } + if b.OccupancyUpperLimitEnforced == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'occupancyUpperLimitEnforced' not set")) + } + if b.OccupancyLowerLimitEnforced == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'occupancyLowerLimitEnforced' not set")) + } + if b.OccupancyCountAdjust == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'occupancyCountAdjust' not set")) + } + if b.AccompanimentTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accompanimentTime' not set")) + } + if b.AccessEvent == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accessEvent' not set")) + } + if b.AccessEventTag == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accessEventTag' not set")) + } + if b.AccessEventTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accessEventTime' not set")) + } + if b.AccessEventCredential == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accessEventCredential' not set")) + } + if b.AccessEventAuthenticationFactor == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accessEventAuthenticationFactor' not set")) + } + if b.AccessDoors == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accessDoors' not set")) + } + if b.PriorityForWriting == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityForWriting' not set")) + } + if b.MusterPoint == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'musterPoint' not set")) + } + if b.ZoneTo == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'zoneTo' not set")) + } + if b.ZoneFrom == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'zoneFrom' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.TransactionNotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'transactionNotificationClass' not set")) + } + if b.AccessAlarmEvents == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accessAlarmEvents' not set")) + } + if b.AccessTransactionEvents == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accessTransactionEvents' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AccessPoint.deepCopy(), nil +} + +func (b *_AccessPointBuilder) MustBuild() AccessPoint { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AccessPointBuilder) DeepCopy() any { + _copy := b.CreateAccessPointBuilder().(*_AccessPointBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAccessPointBuilder creates a AccessPointBuilder +func (b *_AccessPoint) CreateAccessPointBuilder() AccessPointBuilder { + if b == nil { + return NewAccessPointBuilder() + } + return &_AccessPointBuilder{_AccessPoint: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AccessPoint) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AccessPoint) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AccessPoint) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AccessPoint) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AccessPoint) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_AccessPoint) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_AccessPoint) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_AccessPoint) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_AccessPoint) GetAuthenticationStatus() ReadableProperty { + return m.AuthenticationStatus +} + +func (m *_AccessPoint) GetActiveAuthenticationPolicy() ReadableProperty { + return m.ActiveAuthenticationPolicy +} + +func (m *_AccessPoint) GetNumberOfAuthenticationPolicies() ReadableProperty { + return m.NumberOfAuthenticationPolicies +} + +func (m *_AccessPoint) GetAuthenticationPolicyList() OptionalProperty { + return m.AuthenticationPolicyList +} + +func (m *_AccessPoint) GetAuthenticationPolicyNames() OptionalProperty { + return m.AuthenticationPolicyNames +} + +func (m *_AccessPoint) GetAuthorizationMode() ReadableProperty { + return m.AuthorizationMode +} + +func (m *_AccessPoint) GetVerificationTime() OptionalProperty { + return m.VerificationTime +} + +func (m *_AccessPoint) GetLockout() OptionalProperty { + return m.Lockout +} + +func (m *_AccessPoint) GetLockoutRelinquishTime() OptionalProperty { + return m.LockoutRelinquishTime +} + +func (m *_AccessPoint) GetFailedAttempts() OptionalProperty { + return m.FailedAttempts +} + +func (m *_AccessPoint) GetFailedAttemptEvents() OptionalProperty { + return m.FailedAttemptEvents +} + +func (m *_AccessPoint) GetMaxFailedAttempts() OptionalProperty { + return m.MaxFailedAttempts +} + +func (m *_AccessPoint) GetFailedAttemptsTime() OptionalProperty { + return m.FailedAttemptsTime +} + +func (m *_AccessPoint) GetThreatLevel() OptionalProperty { + return m.ThreatLevel +} + +func (m *_AccessPoint) GetOccupancyUpperLimitEnforced() OptionalProperty { + return m.OccupancyUpperLimitEnforced +} + +func (m *_AccessPoint) GetOccupancyLowerLimitEnforced() OptionalProperty { + return m.OccupancyLowerLimitEnforced +} + +func (m *_AccessPoint) GetOccupancyCountAdjust() OptionalProperty { + return m.OccupancyCountAdjust +} + +func (m *_AccessPoint) GetAccompanimentTime() OptionalProperty { + return m.AccompanimentTime +} + +func (m *_AccessPoint) GetAccessEvent() ReadableProperty { + return m.AccessEvent +} + +func (m *_AccessPoint) GetAccessEventTag() ReadableProperty { + return m.AccessEventTag +} + +func (m *_AccessPoint) GetAccessEventTime() ReadableProperty { + return m.AccessEventTime +} + +func (m *_AccessPoint) GetAccessEventCredential() ReadableProperty { + return m.AccessEventCredential +} + +func (m *_AccessPoint) GetAccessEventAuthenticationFactor() OptionalProperty { + return m.AccessEventAuthenticationFactor +} + +func (m *_AccessPoint) GetAccessDoors() ReadableProperty { + return m.AccessDoors +} + +func (m *_AccessPoint) GetPriorityForWriting() ReadableProperty { + return m.PriorityForWriting +} + +func (m *_AccessPoint) GetMusterPoint() OptionalProperty { + return m.MusterPoint +} + +func (m *_AccessPoint) GetZoneTo() OptionalProperty { + return m.ZoneTo +} + +func (m *_AccessPoint) GetZoneFrom() OptionalProperty { + return m.ZoneFrom +} + +func (m *_AccessPoint) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_AccessPoint) GetTransactionNotificationClass() OptionalProperty { + return m.TransactionNotificationClass +} + +func (m *_AccessPoint) GetAccessAlarmEvents() OptionalProperty { + return m.AccessAlarmEvents +} + +func (m *_AccessPoint) GetAccessTransactionEvents() OptionalProperty { + return m.AccessTransactionEvents +} + +func (m *_AccessPoint) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_AccessPoint) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_AccessPoint) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_AccessPoint) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_AccessPoint) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_AccessPoint) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_AccessPoint) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_AccessPoint) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_AccessPoint) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_AccessPoint) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_AccessPoint) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AccessPoint) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AccessPoint) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AccessPoint) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAccessPoint(structType any) AccessPoint { + if casted, ok := structType.(AccessPoint); ok { + return casted + } + if casted, ok := structType.(*AccessPoint); ok { + return *casted + } + return nil +} + +func (m *_AccessPoint) GetTypeName() string { + return "AccessPoint" +} + +func (m *_AccessPoint) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (authenticationStatus) + lengthInBits += m.AuthenticationStatus.GetLengthInBits(ctx) + + // Simple field (activeAuthenticationPolicy) + lengthInBits += m.ActiveAuthenticationPolicy.GetLengthInBits(ctx) + + // Simple field (numberOfAuthenticationPolicies) + lengthInBits += m.NumberOfAuthenticationPolicies.GetLengthInBits(ctx) + + // Simple field (authenticationPolicyList) + lengthInBits += m.AuthenticationPolicyList.GetLengthInBits(ctx) + + // Simple field (authenticationPolicyNames) + lengthInBits += m.AuthenticationPolicyNames.GetLengthInBits(ctx) + + // Simple field (authorizationMode) + lengthInBits += m.AuthorizationMode.GetLengthInBits(ctx) + + // Simple field (verificationTime) + lengthInBits += m.VerificationTime.GetLengthInBits(ctx) + + // Simple field (lockout) + lengthInBits += m.Lockout.GetLengthInBits(ctx) + + // Simple field (lockoutRelinquishTime) + lengthInBits += m.LockoutRelinquishTime.GetLengthInBits(ctx) + + // Simple field (failedAttempts) + lengthInBits += m.FailedAttempts.GetLengthInBits(ctx) + + // Simple field (failedAttemptEvents) + lengthInBits += m.FailedAttemptEvents.GetLengthInBits(ctx) + + // Simple field (maxFailedAttempts) + lengthInBits += m.MaxFailedAttempts.GetLengthInBits(ctx) + + // Simple field (failedAttemptsTime) + lengthInBits += m.FailedAttemptsTime.GetLengthInBits(ctx) + + // Simple field (threatLevel) + lengthInBits += m.ThreatLevel.GetLengthInBits(ctx) + + // Simple field (occupancyUpperLimitEnforced) + lengthInBits += m.OccupancyUpperLimitEnforced.GetLengthInBits(ctx) + + // Simple field (occupancyLowerLimitEnforced) + lengthInBits += m.OccupancyLowerLimitEnforced.GetLengthInBits(ctx) + + // Simple field (occupancyCountAdjust) + lengthInBits += m.OccupancyCountAdjust.GetLengthInBits(ctx) + + // Simple field (accompanimentTime) + lengthInBits += m.AccompanimentTime.GetLengthInBits(ctx) + + // Simple field (accessEvent) + lengthInBits += m.AccessEvent.GetLengthInBits(ctx) + + // Simple field (accessEventTag) + lengthInBits += m.AccessEventTag.GetLengthInBits(ctx) + + // Simple field (accessEventTime) + lengthInBits += m.AccessEventTime.GetLengthInBits(ctx) + + // Simple field (accessEventCredential) + lengthInBits += m.AccessEventCredential.GetLengthInBits(ctx) + + // Simple field (accessEventAuthenticationFactor) + lengthInBits += m.AccessEventAuthenticationFactor.GetLengthInBits(ctx) + + // Simple field (accessDoors) + lengthInBits += m.AccessDoors.GetLengthInBits(ctx) + + // Simple field (priorityForWriting) + lengthInBits += m.PriorityForWriting.GetLengthInBits(ctx) + + // Simple field (musterPoint) + lengthInBits += m.MusterPoint.GetLengthInBits(ctx) + + // Simple field (zoneTo) + lengthInBits += m.ZoneTo.GetLengthInBits(ctx) + + // Simple field (zoneFrom) + lengthInBits += m.ZoneFrom.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (transactionNotificationClass) + lengthInBits += m.TransactionNotificationClass.GetLengthInBits(ctx) + + // Simple field (accessAlarmEvents) + lengthInBits += m.AccessAlarmEvents.GetLengthInBits(ctx) + + // Simple field (accessTransactionEvents) + lengthInBits += m.AccessTransactionEvents.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AccessPoint) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AccessPointParse(ctx context.Context, theBytes []byte) (AccessPoint, error) { + return AccessPointParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AccessPointParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessPoint, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessPoint, error) { + return AccessPointParseWithBuffer(ctx, readBuffer) + } +} + +func AccessPointParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AccessPoint, error) { + v, err := (&_AccessPoint{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AccessPoint) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__accessPoint AccessPoint, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AccessPoint"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AccessPoint") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + authenticationStatus, err := ReadSimpleField[ReadableProperty](ctx, "authenticationStatus", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetAuthenticationStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'authenticationStatus' field")) + } + m.AuthenticationStatus = authenticationStatus + + activeAuthenticationPolicy, err := ReadSimpleField[ReadableProperty](ctx, "activeAuthenticationPolicy", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'activeAuthenticationPolicy' field")) + } + m.ActiveAuthenticationPolicy = activeAuthenticationPolicy + + numberOfAuthenticationPolicies, err := ReadSimpleField[ReadableProperty](ctx, "numberOfAuthenticationPolicies", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'numberOfAuthenticationPolicies' field")) + } + m.NumberOfAuthenticationPolicies = numberOfAuthenticationPolicies + + authenticationPolicyList, err := ReadSimpleField[OptionalProperty](ctx, "authenticationPolicyList", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetAuthenticationPolicy")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'authenticationPolicyList' field")) + } + m.AuthenticationPolicyList = authenticationPolicyList + + authenticationPolicyNames, err := ReadSimpleField[OptionalProperty](ctx, "authenticationPolicyNames", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'authenticationPolicyNames' field")) + } + m.AuthenticationPolicyNames = authenticationPolicyNames + + authorizationMode, err := ReadSimpleField[ReadableProperty](ctx, "authorizationMode", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetAuthorizationMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'authorizationMode' field")) + } + m.AuthorizationMode = authorizationMode + + verificationTime, err := ReadSimpleField[OptionalProperty](ctx, "verificationTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'verificationTime' field")) + } + m.VerificationTime = verificationTime + + lockout, err := ReadSimpleField[OptionalProperty](ctx, "lockout", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lockout' field")) + } + m.Lockout = lockout + + lockoutRelinquishTime, err := ReadSimpleField[OptionalProperty](ctx, "lockoutRelinquishTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lockoutRelinquishTime' field")) + } + m.LockoutRelinquishTime = lockoutRelinquishTime + + failedAttempts, err := ReadSimpleField[OptionalProperty](ctx, "failedAttempts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'failedAttempts' field")) + } + m.FailedAttempts = failedAttempts + + failedAttemptEvents, err := ReadSimpleField[OptionalProperty](ctx, "failedAttemptEvents", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetAccessEvent")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'failedAttemptEvents' field")) + } + m.FailedAttemptEvents = failedAttemptEvents + + maxFailedAttempts, err := ReadSimpleField[OptionalProperty](ctx, "maxFailedAttempts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxFailedAttempts' field")) + } + m.MaxFailedAttempts = maxFailedAttempts + + failedAttemptsTime, err := ReadSimpleField[OptionalProperty](ctx, "failedAttemptsTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'failedAttemptsTime' field")) + } + m.FailedAttemptsTime = failedAttemptsTime + + threatLevel, err := ReadSimpleField[OptionalProperty](ctx, "threatLevel", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetAccessThreatLevel")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'threatLevel' field")) + } + m.ThreatLevel = threatLevel + + occupancyUpperLimitEnforced, err := ReadSimpleField[OptionalProperty](ctx, "occupancyUpperLimitEnforced", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'occupancyUpperLimitEnforced' field")) + } + m.OccupancyUpperLimitEnforced = occupancyUpperLimitEnforced + + occupancyLowerLimitEnforced, err := ReadSimpleField[OptionalProperty](ctx, "occupancyLowerLimitEnforced", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'occupancyLowerLimitEnforced' field")) + } + m.OccupancyLowerLimitEnforced = occupancyLowerLimitEnforced + + occupancyCountAdjust, err := ReadSimpleField[OptionalProperty](ctx, "occupancyCountAdjust", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'occupancyCountAdjust' field")) + } + m.OccupancyCountAdjust = occupancyCountAdjust + + accompanimentTime, err := ReadSimpleField[OptionalProperty](ctx, "accompanimentTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accompanimentTime' field")) + } + m.AccompanimentTime = accompanimentTime + + accessEvent, err := ReadSimpleField[ReadableProperty](ctx, "accessEvent", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetAccessEvent")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accessEvent' field")) + } + m.AccessEvent = accessEvent + + accessEventTag, err := ReadSimpleField[ReadableProperty](ctx, "accessEventTag", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accessEventTag' field")) + } + m.AccessEventTag = accessEventTag + + accessEventTime, err := ReadSimpleField[ReadableProperty](ctx, "accessEventTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accessEventTime' field")) + } + m.AccessEventTime = accessEventTime + + accessEventCredential, err := ReadSimpleField[ReadableProperty](ctx, "accessEventCredential", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accessEventCredential' field")) + } + m.AccessEventCredential = accessEventCredential + + accessEventAuthenticationFactor, err := ReadSimpleField[OptionalProperty](ctx, "accessEventAuthenticationFactor", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetAuthenticationFactor")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accessEventAuthenticationFactor' field")) + } + m.AccessEventAuthenticationFactor = accessEventAuthenticationFactor + + accessDoors, err := ReadSimpleField[ReadableProperty](ctx, "accessDoors", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accessDoors' field")) + } + m.AccessDoors = accessDoors + + priorityForWriting, err := ReadSimpleField[ReadableProperty](ctx, "priorityForWriting", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned(1..16)")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityForWriting' field")) + } + m.PriorityForWriting = priorityForWriting + + musterPoint, err := ReadSimpleField[OptionalProperty](ctx, "musterPoint", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'musterPoint' field")) + } + m.MusterPoint = musterPoint + + zoneTo, err := ReadSimpleField[OptionalProperty](ctx, "zoneTo", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'zoneTo' field")) + } + m.ZoneTo = zoneTo + + zoneFrom, err := ReadSimpleField[OptionalProperty](ctx, "zoneFrom", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'zoneFrom' field")) + } + m.ZoneFrom = zoneFrom + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + transactionNotificationClass, err := ReadSimpleField[OptionalProperty](ctx, "transactionNotificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'transactionNotificationClass' field")) + } + m.TransactionNotificationClass = transactionNotificationClass + + accessAlarmEvents, err := ReadSimpleField[OptionalProperty](ctx, "accessAlarmEvents", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetAccessEvent")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accessAlarmEvents' field")) + } + m.AccessAlarmEvents = accessAlarmEvents + + accessTransactionEvents, err := ReadSimpleField[OptionalProperty](ctx, "accessTransactionEvents", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetAccessEvent")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accessTransactionEvents' field")) + } + m.AccessTransactionEvents = accessTransactionEvents + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AccessPoint"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AccessPoint") + } + + return m, nil +} + +func (m *_AccessPoint) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AccessPoint) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AccessPoint"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AccessPoint") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "authenticationStatus", m.GetAuthenticationStatus(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'authenticationStatus' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "activeAuthenticationPolicy", m.GetActiveAuthenticationPolicy(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'activeAuthenticationPolicy' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "numberOfAuthenticationPolicies", m.GetNumberOfAuthenticationPolicies(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'numberOfAuthenticationPolicies' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "authenticationPolicyList", m.GetAuthenticationPolicyList(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'authenticationPolicyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "authenticationPolicyNames", m.GetAuthenticationPolicyNames(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'authenticationPolicyNames' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "authorizationMode", m.GetAuthorizationMode(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'authorizationMode' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "verificationTime", m.GetVerificationTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'verificationTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lockout", m.GetLockout(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lockout' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lockoutRelinquishTime", m.GetLockoutRelinquishTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lockoutRelinquishTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "failedAttempts", m.GetFailedAttempts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'failedAttempts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "failedAttemptEvents", m.GetFailedAttemptEvents(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'failedAttemptEvents' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxFailedAttempts", m.GetMaxFailedAttempts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxFailedAttempts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "failedAttemptsTime", m.GetFailedAttemptsTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'failedAttemptsTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "threatLevel", m.GetThreatLevel(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'threatLevel' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "occupancyUpperLimitEnforced", m.GetOccupancyUpperLimitEnforced(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'occupancyUpperLimitEnforced' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "occupancyLowerLimitEnforced", m.GetOccupancyLowerLimitEnforced(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'occupancyLowerLimitEnforced' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "occupancyCountAdjust", m.GetOccupancyCountAdjust(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'occupancyCountAdjust' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "accompanimentTime", m.GetAccompanimentTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accompanimentTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "accessEvent", m.GetAccessEvent(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accessEvent' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "accessEventTag", m.GetAccessEventTag(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accessEventTag' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "accessEventTime", m.GetAccessEventTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accessEventTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "accessEventCredential", m.GetAccessEventCredential(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accessEventCredential' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "accessEventAuthenticationFactor", m.GetAccessEventAuthenticationFactor(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accessEventAuthenticationFactor' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "accessDoors", m.GetAccessDoors(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accessDoors' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priorityForWriting", m.GetPriorityForWriting(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityForWriting' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "musterPoint", m.GetMusterPoint(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'musterPoint' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "zoneTo", m.GetZoneTo(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'zoneTo' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "zoneFrom", m.GetZoneFrom(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'zoneFrom' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "transactionNotificationClass", m.GetTransactionNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'transactionNotificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "accessAlarmEvents", m.GetAccessAlarmEvents(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accessAlarmEvents' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "accessTransactionEvents", m.GetAccessTransactionEvents(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accessTransactionEvents' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AccessPoint"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AccessPoint") + } + return nil +} + +func (m *_AccessPoint) IsAccessPoint() {} + +func (m *_AccessPoint) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AccessPoint) deepCopy() *_AccessPoint { + if m == nil { + return nil + } + _AccessPointCopy := &_AccessPoint{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.AuthenticationStatus.DeepCopy().(ReadableProperty), + m.ActiveAuthenticationPolicy.DeepCopy().(ReadableProperty), + m.NumberOfAuthenticationPolicies.DeepCopy().(ReadableProperty), + m.AuthenticationPolicyList.DeepCopy().(OptionalProperty), + m.AuthenticationPolicyNames.DeepCopy().(OptionalProperty), + m.AuthorizationMode.DeepCopy().(ReadableProperty), + m.VerificationTime.DeepCopy().(OptionalProperty), + m.Lockout.DeepCopy().(OptionalProperty), + m.LockoutRelinquishTime.DeepCopy().(OptionalProperty), + m.FailedAttempts.DeepCopy().(OptionalProperty), + m.FailedAttemptEvents.DeepCopy().(OptionalProperty), + m.MaxFailedAttempts.DeepCopy().(OptionalProperty), + m.FailedAttemptsTime.DeepCopy().(OptionalProperty), + m.ThreatLevel.DeepCopy().(OptionalProperty), + m.OccupancyUpperLimitEnforced.DeepCopy().(OptionalProperty), + m.OccupancyLowerLimitEnforced.DeepCopy().(OptionalProperty), + m.OccupancyCountAdjust.DeepCopy().(OptionalProperty), + m.AccompanimentTime.DeepCopy().(OptionalProperty), + m.AccessEvent.DeepCopy().(ReadableProperty), + m.AccessEventTag.DeepCopy().(ReadableProperty), + m.AccessEventTime.DeepCopy().(ReadableProperty), + m.AccessEventCredential.DeepCopy().(ReadableProperty), + m.AccessEventAuthenticationFactor.DeepCopy().(OptionalProperty), + m.AccessDoors.DeepCopy().(ReadableProperty), + m.PriorityForWriting.DeepCopy().(ReadableProperty), + m.MusterPoint.DeepCopy().(OptionalProperty), + m.ZoneTo.DeepCopy().(OptionalProperty), + m.ZoneFrom.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.TransactionNotificationClass.DeepCopy().(OptionalProperty), + m.AccessAlarmEvents.DeepCopy().(OptionalProperty), + m.AccessTransactionEvents.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AccessPointCopy +} + +func (m *_AccessPoint) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/AccessRights.go b/plc4go/protocols/bacnetip/readwrite/model/AccessRights.go new file mode 100644 index 00000000000..9ea34a4b8d0 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AccessRights.go @@ -0,0 +1,1080 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AccessRights is the corresponding interface of AccessRights +type AccessRights interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetGlobalIdentifier returns GlobalIdentifier (property field) + GetGlobalIdentifier() WritableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetEnable returns Enable (property field) + GetEnable() ReadableProperty + // GetNegativeAccessRules returns NegativeAccessRules (property field) + GetNegativeAccessRules() ReadableProperty + // GetPositiveAccessRules returns PositiveAccessRules (property field) + GetPositiveAccessRules() ReadableProperty + // GetAccompaniment returns Accompaniment (property field) + GetAccompaniment() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAccessRights is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAccessRights() + // CreateBuilder creates a AccessRightsBuilder + CreateAccessRightsBuilder() AccessRightsBuilder +} + +// _AccessRights is the data-structure of this message +type _AccessRights struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + GlobalIdentifier WritableProperty + StatusFlags ReadableProperty + Reliability ReadableProperty + Enable ReadableProperty + NegativeAccessRules ReadableProperty + PositiveAccessRules ReadableProperty + Accompaniment OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AccessRights = (*_AccessRights)(nil) + +// NewAccessRights factory function for _AccessRights +func NewAccessRights(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, statusFlags ReadableProperty, reliability ReadableProperty, enable ReadableProperty, negativeAccessRules ReadableProperty, positiveAccessRules ReadableProperty, accompaniment OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AccessRights { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AccessRights must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AccessRights must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AccessRights must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AccessRights must not be nil") + } + if globalIdentifier == nil { + panic("globalIdentifier of type WritableProperty for AccessRights must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for AccessRights must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for AccessRights must not be nil") + } + if enable == nil { + panic("enable of type ReadableProperty for AccessRights must not be nil") + } + if negativeAccessRules == nil { + panic("negativeAccessRules of type ReadableProperty for AccessRights must not be nil") + } + if positiveAccessRules == nil { + panic("positiveAccessRules of type ReadableProperty for AccessRights must not be nil") + } + if accompaniment == nil { + panic("accompaniment of type OptionalProperty for AccessRights must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for AccessRights must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AccessRights must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AccessRights must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AccessRights must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AccessRights must not be nil") + } + return &_AccessRights{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, GlobalIdentifier: globalIdentifier, StatusFlags: statusFlags, Reliability: reliability, Enable: enable, NegativeAccessRules: negativeAccessRules, PositiveAccessRules: positiveAccessRules, Accompaniment: accompaniment, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AccessRightsBuilder is a builder for AccessRights +type AccessRightsBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, statusFlags ReadableProperty, reliability ReadableProperty, enable ReadableProperty, negativeAccessRules ReadableProperty, positiveAccessRules ReadableProperty, accompaniment OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessRightsBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AccessRightsBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AccessRightsBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AccessRightsBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AccessRightsBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder + // WithGlobalIdentifier adds GlobalIdentifier (property field) + WithGlobalIdentifier(WritableProperty) AccessRightsBuilder + // WithGlobalIdentifierBuilder adds GlobalIdentifier (property field) which is build by the builder + WithGlobalIdentifierBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) AccessRightsBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AccessRightsBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) AccessRightsBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder + // WithEnable adds Enable (property field) + WithEnable(ReadableProperty) AccessRightsBuilder + // WithEnableBuilder adds Enable (property field) which is build by the builder + WithEnableBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder + // WithNegativeAccessRules adds NegativeAccessRules (property field) + WithNegativeAccessRules(ReadableProperty) AccessRightsBuilder + // WithNegativeAccessRulesBuilder adds NegativeAccessRules (property field) which is build by the builder + WithNegativeAccessRulesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder + // WithPositiveAccessRules adds PositiveAccessRules (property field) + WithPositiveAccessRules(ReadableProperty) AccessRightsBuilder + // WithPositiveAccessRulesBuilder adds PositiveAccessRules (property field) which is build by the builder + WithPositiveAccessRulesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder + // WithAccompaniment adds Accompaniment (property field) + WithAccompaniment(OptionalProperty) AccessRightsBuilder + // WithAccompanimentBuilder adds Accompaniment (property field) which is build by the builder + WithAccompanimentBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AccessRightsBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AccessRightsBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AccessRightsBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AccessRightsBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AccessRightsBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder + // Build builds the AccessRights or returns an error if something is wrong + Build() (AccessRights, error) + // MustBuild does the same as Build but panics on error + MustBuild() AccessRights +} + +// NewAccessRightsBuilder() creates a AccessRightsBuilder +func NewAccessRightsBuilder() AccessRightsBuilder { + return &_AccessRightsBuilder{_AccessRights: new(_AccessRights)} +} + +type _AccessRightsBuilder struct { + *_AccessRights + + err *utils.MultiError +} + +var _ (AccessRightsBuilder) = (*_AccessRightsBuilder)(nil) + +func (b *_AccessRightsBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, statusFlags ReadableProperty, reliability ReadableProperty, enable ReadableProperty, negativeAccessRules ReadableProperty, positiveAccessRules ReadableProperty, accompaniment OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessRightsBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithGlobalIdentifier(globalIdentifier).WithStatusFlags(statusFlags).WithReliability(reliability).WithEnable(enable).WithNegativeAccessRules(negativeAccessRules).WithPositiveAccessRules(positiveAccessRules).WithAccompaniment(accompaniment).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AccessRightsBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AccessRightsBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AccessRightsBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithObjectName(objectName ReadableProperty) AccessRightsBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AccessRightsBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithObjectType(objectType ReadableProperty) AccessRightsBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AccessRightsBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithDescription(description OptionalProperty) AccessRightsBuilder { + b.Description = description + return b +} + +func (b *_AccessRightsBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithGlobalIdentifier(globalIdentifier WritableProperty) AccessRightsBuilder { + b.GlobalIdentifier = globalIdentifier + return b +} + +func (b *_AccessRightsBuilder) WithGlobalIdentifierBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.GlobalIdentifier.CreateWritablePropertyBuilder()) + var err error + b.GlobalIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithStatusFlags(statusFlags ReadableProperty) AccessRightsBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AccessRightsBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithReliability(reliability ReadableProperty) AccessRightsBuilder { + b.Reliability = reliability + return b +} + +func (b *_AccessRightsBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithEnable(enable ReadableProperty) AccessRightsBuilder { + b.Enable = enable + return b +} + +func (b *_AccessRightsBuilder) WithEnableBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.Enable.CreateReadablePropertyBuilder()) + var err error + b.Enable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithNegativeAccessRules(negativeAccessRules ReadableProperty) AccessRightsBuilder { + b.NegativeAccessRules = negativeAccessRules + return b +} + +func (b *_AccessRightsBuilder) WithNegativeAccessRulesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.NegativeAccessRules.CreateReadablePropertyBuilder()) + var err error + b.NegativeAccessRules, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithPositiveAccessRules(positiveAccessRules ReadableProperty) AccessRightsBuilder { + b.PositiveAccessRules = positiveAccessRules + return b +} + +func (b *_AccessRightsBuilder) WithPositiveAccessRulesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.PositiveAccessRules.CreateReadablePropertyBuilder()) + var err error + b.PositiveAccessRules, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithAccompaniment(accompaniment OptionalProperty) AccessRightsBuilder { + b.Accompaniment = accompaniment + return b +} + +func (b *_AccessRightsBuilder) WithAccompanimentBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.Accompaniment.CreateOptionalPropertyBuilder()) + var err error + b.Accompaniment, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AccessRightsBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AccessRightsBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithPropertyList(propertyList ReadableProperty) AccessRightsBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AccessRightsBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithTags(tags OptionalProperty) AccessRightsBuilder { + b.Tags = tags + return b +} + +func (b *_AccessRightsBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithProfileLocation(profileLocation OptionalProperty) AccessRightsBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AccessRightsBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) WithProfileName(profileName OptionalProperty) AccessRightsBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AccessRightsBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessRightsBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessRightsBuilder) Build() (AccessRights, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.GlobalIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'globalIdentifier' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.Enable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'enable' not set")) + } + if b.NegativeAccessRules == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'negativeAccessRules' not set")) + } + if b.PositiveAccessRules == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'positiveAccessRules' not set")) + } + if b.Accompaniment == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'accompaniment' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AccessRights.deepCopy(), nil +} + +func (b *_AccessRightsBuilder) MustBuild() AccessRights { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AccessRightsBuilder) DeepCopy() any { + _copy := b.CreateAccessRightsBuilder().(*_AccessRightsBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAccessRightsBuilder creates a AccessRightsBuilder +func (b *_AccessRights) CreateAccessRightsBuilder() AccessRightsBuilder { + if b == nil { + return NewAccessRightsBuilder() + } + return &_AccessRightsBuilder{_AccessRights: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AccessRights) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AccessRights) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AccessRights) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AccessRights) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AccessRights) GetGlobalIdentifier() WritableProperty { + return m.GlobalIdentifier +} + +func (m *_AccessRights) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_AccessRights) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_AccessRights) GetEnable() ReadableProperty { + return m.Enable +} + +func (m *_AccessRights) GetNegativeAccessRules() ReadableProperty { + return m.NegativeAccessRules +} + +func (m *_AccessRights) GetPositiveAccessRules() ReadableProperty { + return m.PositiveAccessRules +} + +func (m *_AccessRights) GetAccompaniment() OptionalProperty { + return m.Accompaniment +} + +func (m *_AccessRights) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_AccessRights) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AccessRights) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AccessRights) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AccessRights) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAccessRights(structType any) AccessRights { + if casted, ok := structType.(AccessRights); ok { + return casted + } + if casted, ok := structType.(*AccessRights); ok { + return *casted + } + return nil +} + +func (m *_AccessRights) GetTypeName() string { + return "AccessRights" +} + +func (m *_AccessRights) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (globalIdentifier) + lengthInBits += m.GlobalIdentifier.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (enable) + lengthInBits += m.Enable.GetLengthInBits(ctx) + + // Simple field (negativeAccessRules) + lengthInBits += m.NegativeAccessRules.GetLengthInBits(ctx) + + // Simple field (positiveAccessRules) + lengthInBits += m.PositiveAccessRules.GetLengthInBits(ctx) + + // Simple field (accompaniment) + lengthInBits += m.Accompaniment.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AccessRights) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AccessRightsParse(ctx context.Context, theBytes []byte) (AccessRights, error) { + return AccessRightsParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AccessRightsParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessRights, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessRights, error) { + return AccessRightsParseWithBuffer(ctx, readBuffer) + } +} + +func AccessRightsParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AccessRights, error) { + v, err := (&_AccessRights{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AccessRights) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__accessRights AccessRights, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AccessRights"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AccessRights") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + globalIdentifier, err := ReadSimpleField[WritableProperty](ctx, "globalIdentifier", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'globalIdentifier' field")) + } + m.GlobalIdentifier = globalIdentifier + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + enable, err := ReadSimpleField[ReadableProperty](ctx, "enable", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'enable' field")) + } + m.Enable = enable + + negativeAccessRules, err := ReadSimpleField[ReadableProperty](ctx, "negativeAccessRules", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetAccessRule")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'negativeAccessRules' field")) + } + m.NegativeAccessRules = negativeAccessRules + + positiveAccessRules, err := ReadSimpleField[ReadableProperty](ctx, "positiveAccessRules", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetAccessRule")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'positiveAccessRules' field")) + } + m.PositiveAccessRules = positiveAccessRules + + accompaniment, err := ReadSimpleField[OptionalProperty](ctx, "accompaniment", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'accompaniment' field")) + } + m.Accompaniment = accompaniment + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AccessRights"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AccessRights") + } + + return m, nil +} + +func (m *_AccessRights) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AccessRights) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AccessRights"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AccessRights") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "globalIdentifier", m.GetGlobalIdentifier(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'globalIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "enable", m.GetEnable(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'enable' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "negativeAccessRules", m.GetNegativeAccessRules(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'negativeAccessRules' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "positiveAccessRules", m.GetPositiveAccessRules(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'positiveAccessRules' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "accompaniment", m.GetAccompaniment(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'accompaniment' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AccessRights"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AccessRights") + } + return nil +} + +func (m *_AccessRights) IsAccessRights() {} + +func (m *_AccessRights) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AccessRights) deepCopy() *_AccessRights { + if m == nil { + return nil + } + _AccessRightsCopy := &_AccessRights{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.GlobalIdentifier.DeepCopy().(WritableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.Enable.DeepCopy().(ReadableProperty), + m.NegativeAccessRules.DeepCopy().(ReadableProperty), + m.PositiveAccessRules.DeepCopy().(ReadableProperty), + m.Accompaniment.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AccessRightsCopy +} + +func (m *_AccessRights) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/AccessUser.go b/plc4go/protocols/bacnetip/readwrite/model/AccessUser.go new file mode 100644 index 00000000000..aecfe6c1871 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AccessUser.go @@ -0,0 +1,1236 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AccessUser is the corresponding interface of AccessUser +type AccessUser interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetGlobalIdentifier returns GlobalIdentifier (property field) + GetGlobalIdentifier() WritableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetUserType returns UserType (property field) + GetUserType() ReadableProperty + // GetUserName returns UserName (property field) + GetUserName() OptionalProperty + // GetUserExternalIdentifier returns UserExternalIdentifier (property field) + GetUserExternalIdentifier() OptionalProperty + // GetUserInformationReference returns UserInformationReference (property field) + GetUserInformationReference() OptionalProperty + // GetMembers returns Members (property field) + GetMembers() OptionalProperty + // GetMemberOf returns MemberOf (property field) + GetMemberOf() OptionalProperty + // GetCredentials returns Credentials (property field) + GetCredentials() ReadableProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAccessUser is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAccessUser() + // CreateBuilder creates a AccessUserBuilder + CreateAccessUserBuilder() AccessUserBuilder +} + +// _AccessUser is the data-structure of this message +type _AccessUser struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + GlobalIdentifier WritableProperty + StatusFlags ReadableProperty + Reliability ReadableProperty + UserType ReadableProperty + UserName OptionalProperty + UserExternalIdentifier OptionalProperty + UserInformationReference OptionalProperty + Members OptionalProperty + MemberOf OptionalProperty + Credentials ReadableProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AccessUser = (*_AccessUser)(nil) + +// NewAccessUser factory function for _AccessUser +func NewAccessUser(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, statusFlags ReadableProperty, reliability ReadableProperty, userType ReadableProperty, userName OptionalProperty, userExternalIdentifier OptionalProperty, userInformationReference OptionalProperty, members OptionalProperty, memberOf OptionalProperty, credentials ReadableProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AccessUser { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AccessUser must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AccessUser must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AccessUser must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AccessUser must not be nil") + } + if globalIdentifier == nil { + panic("globalIdentifier of type WritableProperty for AccessUser must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for AccessUser must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for AccessUser must not be nil") + } + if userType == nil { + panic("userType of type ReadableProperty for AccessUser must not be nil") + } + if userName == nil { + panic("userName of type OptionalProperty for AccessUser must not be nil") + } + if userExternalIdentifier == nil { + panic("userExternalIdentifier of type OptionalProperty for AccessUser must not be nil") + } + if userInformationReference == nil { + panic("userInformationReference of type OptionalProperty for AccessUser must not be nil") + } + if members == nil { + panic("members of type OptionalProperty for AccessUser must not be nil") + } + if memberOf == nil { + panic("memberOf of type OptionalProperty for AccessUser must not be nil") + } + if credentials == nil { + panic("credentials of type ReadableProperty for AccessUser must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for AccessUser must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AccessUser must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AccessUser must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AccessUser must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AccessUser must not be nil") + } + return &_AccessUser{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, GlobalIdentifier: globalIdentifier, StatusFlags: statusFlags, Reliability: reliability, UserType: userType, UserName: userName, UserExternalIdentifier: userExternalIdentifier, UserInformationReference: userInformationReference, Members: members, MemberOf: memberOf, Credentials: credentials, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AccessUserBuilder is a builder for AccessUser +type AccessUserBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, statusFlags ReadableProperty, reliability ReadableProperty, userType ReadableProperty, userName OptionalProperty, userExternalIdentifier OptionalProperty, userInformationReference OptionalProperty, members OptionalProperty, memberOf OptionalProperty, credentials ReadableProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessUserBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AccessUserBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AccessUserBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AccessUserBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AccessUserBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // WithGlobalIdentifier adds GlobalIdentifier (property field) + WithGlobalIdentifier(WritableProperty) AccessUserBuilder + // WithGlobalIdentifierBuilder adds GlobalIdentifier (property field) which is build by the builder + WithGlobalIdentifierBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) AccessUserBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AccessUserBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) AccessUserBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder + // WithUserType adds UserType (property field) + WithUserType(ReadableProperty) AccessUserBuilder + // WithUserTypeBuilder adds UserType (property field) which is build by the builder + WithUserTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder + // WithUserName adds UserName (property field) + WithUserName(OptionalProperty) AccessUserBuilder + // WithUserNameBuilder adds UserName (property field) which is build by the builder + WithUserNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // WithUserExternalIdentifier adds UserExternalIdentifier (property field) + WithUserExternalIdentifier(OptionalProperty) AccessUserBuilder + // WithUserExternalIdentifierBuilder adds UserExternalIdentifier (property field) which is build by the builder + WithUserExternalIdentifierBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // WithUserInformationReference adds UserInformationReference (property field) + WithUserInformationReference(OptionalProperty) AccessUserBuilder + // WithUserInformationReferenceBuilder adds UserInformationReference (property field) which is build by the builder + WithUserInformationReferenceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // WithMembers adds Members (property field) + WithMembers(OptionalProperty) AccessUserBuilder + // WithMembersBuilder adds Members (property field) which is build by the builder + WithMembersBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // WithMemberOf adds MemberOf (property field) + WithMemberOf(OptionalProperty) AccessUserBuilder + // WithMemberOfBuilder adds MemberOf (property field) which is build by the builder + WithMemberOfBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // WithCredentials adds Credentials (property field) + WithCredentials(ReadableProperty) AccessUserBuilder + // WithCredentialsBuilder adds Credentials (property field) which is build by the builder + WithCredentialsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AccessUserBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AccessUserBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AccessUserBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AccessUserBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AccessUserBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder + // Build builds the AccessUser or returns an error if something is wrong + Build() (AccessUser, error) + // MustBuild does the same as Build but panics on error + MustBuild() AccessUser +} + +// NewAccessUserBuilder() creates a AccessUserBuilder +func NewAccessUserBuilder() AccessUserBuilder { + return &_AccessUserBuilder{_AccessUser: new(_AccessUser)} +} + +type _AccessUserBuilder struct { + *_AccessUser + + err *utils.MultiError +} + +var _ (AccessUserBuilder) = (*_AccessUserBuilder)(nil) + +func (b *_AccessUserBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, statusFlags ReadableProperty, reliability ReadableProperty, userType ReadableProperty, userName OptionalProperty, userExternalIdentifier OptionalProperty, userInformationReference OptionalProperty, members OptionalProperty, memberOf OptionalProperty, credentials ReadableProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessUserBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithGlobalIdentifier(globalIdentifier).WithStatusFlags(statusFlags).WithReliability(reliability).WithUserType(userType).WithUserName(userName).WithUserExternalIdentifier(userExternalIdentifier).WithUserInformationReference(userInformationReference).WithMembers(members).WithMemberOf(memberOf).WithCredentials(credentials).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AccessUserBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AccessUserBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AccessUserBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithObjectName(objectName ReadableProperty) AccessUserBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AccessUserBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithObjectType(objectType ReadableProperty) AccessUserBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AccessUserBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithDescription(description OptionalProperty) AccessUserBuilder { + b.Description = description + return b +} + +func (b *_AccessUserBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithGlobalIdentifier(globalIdentifier WritableProperty) AccessUserBuilder { + b.GlobalIdentifier = globalIdentifier + return b +} + +func (b *_AccessUserBuilder) WithGlobalIdentifierBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.GlobalIdentifier.CreateWritablePropertyBuilder()) + var err error + b.GlobalIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithStatusFlags(statusFlags ReadableProperty) AccessUserBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AccessUserBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithReliability(reliability ReadableProperty) AccessUserBuilder { + b.Reliability = reliability + return b +} + +func (b *_AccessUserBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithUserType(userType ReadableProperty) AccessUserBuilder { + b.UserType = userType + return b +} + +func (b *_AccessUserBuilder) WithUserTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.UserType.CreateReadablePropertyBuilder()) + var err error + b.UserType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithUserName(userName OptionalProperty) AccessUserBuilder { + b.UserName = userName + return b +} + +func (b *_AccessUserBuilder) WithUserNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.UserName.CreateOptionalPropertyBuilder()) + var err error + b.UserName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithUserExternalIdentifier(userExternalIdentifier OptionalProperty) AccessUserBuilder { + b.UserExternalIdentifier = userExternalIdentifier + return b +} + +func (b *_AccessUserBuilder) WithUserExternalIdentifierBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.UserExternalIdentifier.CreateOptionalPropertyBuilder()) + var err error + b.UserExternalIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithUserInformationReference(userInformationReference OptionalProperty) AccessUserBuilder { + b.UserInformationReference = userInformationReference + return b +} + +func (b *_AccessUserBuilder) WithUserInformationReferenceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.UserInformationReference.CreateOptionalPropertyBuilder()) + var err error + b.UserInformationReference, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithMembers(members OptionalProperty) AccessUserBuilder { + b.Members = members + return b +} + +func (b *_AccessUserBuilder) WithMembersBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.Members.CreateOptionalPropertyBuilder()) + var err error + b.Members, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithMemberOf(memberOf OptionalProperty) AccessUserBuilder { + b.MemberOf = memberOf + return b +} + +func (b *_AccessUserBuilder) WithMemberOfBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.MemberOf.CreateOptionalPropertyBuilder()) + var err error + b.MemberOf, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithCredentials(credentials ReadableProperty) AccessUserBuilder { + b.Credentials = credentials + return b +} + +func (b *_AccessUserBuilder) WithCredentialsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.Credentials.CreateReadablePropertyBuilder()) + var err error + b.Credentials, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AccessUserBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AccessUserBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithPropertyList(propertyList ReadableProperty) AccessUserBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AccessUserBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithTags(tags OptionalProperty) AccessUserBuilder { + b.Tags = tags + return b +} + +func (b *_AccessUserBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithProfileLocation(profileLocation OptionalProperty) AccessUserBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AccessUserBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) WithProfileName(profileName OptionalProperty) AccessUserBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AccessUserBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessUserBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessUserBuilder) Build() (AccessUser, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.GlobalIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'globalIdentifier' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.UserType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'userType' not set")) + } + if b.UserName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'userName' not set")) + } + if b.UserExternalIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'userExternalIdentifier' not set")) + } + if b.UserInformationReference == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'userInformationReference' not set")) + } + if b.Members == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'members' not set")) + } + if b.MemberOf == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'memberOf' not set")) + } + if b.Credentials == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'credentials' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AccessUser.deepCopy(), nil +} + +func (b *_AccessUserBuilder) MustBuild() AccessUser { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AccessUserBuilder) DeepCopy() any { + _copy := b.CreateAccessUserBuilder().(*_AccessUserBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAccessUserBuilder creates a AccessUserBuilder +func (b *_AccessUser) CreateAccessUserBuilder() AccessUserBuilder { + if b == nil { + return NewAccessUserBuilder() + } + return &_AccessUserBuilder{_AccessUser: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AccessUser) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AccessUser) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AccessUser) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AccessUser) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AccessUser) GetGlobalIdentifier() WritableProperty { + return m.GlobalIdentifier +} + +func (m *_AccessUser) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_AccessUser) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_AccessUser) GetUserType() ReadableProperty { + return m.UserType +} + +func (m *_AccessUser) GetUserName() OptionalProperty { + return m.UserName +} + +func (m *_AccessUser) GetUserExternalIdentifier() OptionalProperty { + return m.UserExternalIdentifier +} + +func (m *_AccessUser) GetUserInformationReference() OptionalProperty { + return m.UserInformationReference +} + +func (m *_AccessUser) GetMembers() OptionalProperty { + return m.Members +} + +func (m *_AccessUser) GetMemberOf() OptionalProperty { + return m.MemberOf +} + +func (m *_AccessUser) GetCredentials() ReadableProperty { + return m.Credentials +} + +func (m *_AccessUser) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_AccessUser) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AccessUser) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AccessUser) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AccessUser) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAccessUser(structType any) AccessUser { + if casted, ok := structType.(AccessUser); ok { + return casted + } + if casted, ok := structType.(*AccessUser); ok { + return *casted + } + return nil +} + +func (m *_AccessUser) GetTypeName() string { + return "AccessUser" +} + +func (m *_AccessUser) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (globalIdentifier) + lengthInBits += m.GlobalIdentifier.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (userType) + lengthInBits += m.UserType.GetLengthInBits(ctx) + + // Simple field (userName) + lengthInBits += m.UserName.GetLengthInBits(ctx) + + // Simple field (userExternalIdentifier) + lengthInBits += m.UserExternalIdentifier.GetLengthInBits(ctx) + + // Simple field (userInformationReference) + lengthInBits += m.UserInformationReference.GetLengthInBits(ctx) + + // Simple field (members) + lengthInBits += m.Members.GetLengthInBits(ctx) + + // Simple field (memberOf) + lengthInBits += m.MemberOf.GetLengthInBits(ctx) + + // Simple field (credentials) + lengthInBits += m.Credentials.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AccessUser) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AccessUserParse(ctx context.Context, theBytes []byte) (AccessUser, error) { + return AccessUserParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AccessUserParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessUser, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessUser, error) { + return AccessUserParseWithBuffer(ctx, readBuffer) + } +} + +func AccessUserParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AccessUser, error) { + v, err := (&_AccessUser{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AccessUser) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__accessUser AccessUser, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AccessUser"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AccessUser") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + globalIdentifier, err := ReadSimpleField[WritableProperty](ctx, "globalIdentifier", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'globalIdentifier' field")) + } + m.GlobalIdentifier = globalIdentifier + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + userType, err := ReadSimpleField[ReadableProperty](ctx, "userType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetAccessUserType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'userType' field")) + } + m.UserType = userType + + userName, err := ReadSimpleField[OptionalProperty](ctx, "userName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'userName' field")) + } + m.UserName = userName + + userExternalIdentifier, err := ReadSimpleField[OptionalProperty](ctx, "userExternalIdentifier", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'userExternalIdentifier' field")) + } + m.UserExternalIdentifier = userExternalIdentifier + + userInformationReference, err := ReadSimpleField[OptionalProperty](ctx, "userInformationReference", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'userInformationReference' field")) + } + m.UserInformationReference = userInformationReference + + members, err := ReadSimpleField[OptionalProperty](ctx, "members", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'members' field")) + } + m.Members = members + + memberOf, err := ReadSimpleField[OptionalProperty](ctx, "memberOf", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'memberOf' field")) + } + m.MemberOf = memberOf + + credentials, err := ReadSimpleField[ReadableProperty](ctx, "credentials", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'credentials' field")) + } + m.Credentials = credentials + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AccessUser"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AccessUser") + } + + return m, nil +} + +func (m *_AccessUser) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AccessUser) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AccessUser"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AccessUser") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "globalIdentifier", m.GetGlobalIdentifier(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'globalIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "userType", m.GetUserType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'userType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "userName", m.GetUserName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'userName' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "userExternalIdentifier", m.GetUserExternalIdentifier(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'userExternalIdentifier' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "userInformationReference", m.GetUserInformationReference(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'userInformationReference' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "members", m.GetMembers(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'members' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "memberOf", m.GetMemberOf(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'memberOf' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "credentials", m.GetCredentials(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'credentials' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AccessUser"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AccessUser") + } + return nil +} + +func (m *_AccessUser) IsAccessUser() {} + +func (m *_AccessUser) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AccessUser) deepCopy() *_AccessUser { + if m == nil { + return nil + } + _AccessUserCopy := &_AccessUser{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.GlobalIdentifier.DeepCopy().(WritableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.UserType.DeepCopy().(ReadableProperty), + m.UserName.DeepCopy().(OptionalProperty), + m.UserExternalIdentifier.DeepCopy().(OptionalProperty), + m.UserInformationReference.DeepCopy().(OptionalProperty), + m.Members.DeepCopy().(OptionalProperty), + m.MemberOf.DeepCopy().(OptionalProperty), + m.Credentials.DeepCopy().(ReadableProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AccessUserCopy +} + +func (m *_AccessUser) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/AccessZone.go b/plc4go/protocols/bacnetip/readwrite/model/AccessZone.go new file mode 100644 index 00000000000..ffa35e9ff9c --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AccessZone.go @@ -0,0 +1,2432 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AccessZone is the corresponding interface of AccessZone +type AccessZone interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetGlobalIdentifier returns GlobalIdentifier (property field) + GetGlobalIdentifier() WritableProperty + // GetOccupancyState returns OccupancyState (property field) + GetOccupancyState() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetOccupancyCount returns OccupancyCount (property field) + GetOccupancyCount() OptionalProperty + // GetOccupancyCountEnable returns OccupancyCountEnable (property field) + GetOccupancyCountEnable() OptionalProperty + // GetAdjustValue returns AdjustValue (property field) + GetAdjustValue() OptionalProperty + // GetOccupancyUpperLimit returns OccupancyUpperLimit (property field) + GetOccupancyUpperLimit() OptionalProperty + // GetOccupancyLowerLimit returns OccupancyLowerLimit (property field) + GetOccupancyLowerLimit() OptionalProperty + // GetCredentialsInZone returns CredentialsInZone (property field) + GetCredentialsInZone() OptionalProperty + // GetLastCredentialAdded returns LastCredentialAdded (property field) + GetLastCredentialAdded() OptionalProperty + // GetLastCredentialAddedTime returns LastCredentialAddedTime (property field) + GetLastCredentialAddedTime() OptionalProperty + // GetLastCredentialRemoved returns LastCredentialRemoved (property field) + GetLastCredentialRemoved() OptionalProperty + // GetLastCredentialRemovedTime returns LastCredentialRemovedTime (property field) + GetLastCredentialRemovedTime() OptionalProperty + // GetPassbackMode returns PassbackMode (property field) + GetPassbackMode() OptionalProperty + // GetPassbackTimeout returns PassbackTimeout (property field) + GetPassbackTimeout() OptionalProperty + // GetEntryPoints returns EntryPoints (property field) + GetEntryPoints() ReadableProperty + // GetExitPoints returns ExitPoints (property field) + GetExitPoints() ReadableProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetAlarmValues returns AlarmValues (property field) + GetAlarmValues() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAccessZone is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAccessZone() + // CreateBuilder creates a AccessZoneBuilder + CreateAccessZoneBuilder() AccessZoneBuilder +} + +// _AccessZone is the data-structure of this message +type _AccessZone struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + GlobalIdentifier WritableProperty + OccupancyState ReadableProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability ReadableProperty + OutOfService ReadableProperty + OccupancyCount OptionalProperty + OccupancyCountEnable OptionalProperty + AdjustValue OptionalProperty + OccupancyUpperLimit OptionalProperty + OccupancyLowerLimit OptionalProperty + CredentialsInZone OptionalProperty + LastCredentialAdded OptionalProperty + LastCredentialAddedTime OptionalProperty + LastCredentialRemoved OptionalProperty + LastCredentialRemovedTime OptionalProperty + PassbackMode OptionalProperty + PassbackTimeout OptionalProperty + EntryPoints ReadableProperty + ExitPoints ReadableProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + AlarmValues OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AccessZone = (*_AccessZone)(nil) + +// NewAccessZone factory function for _AccessZone +func NewAccessZone(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, occupancyState ReadableProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, occupancyCount OptionalProperty, occupancyCountEnable OptionalProperty, adjustValue OptionalProperty, occupancyUpperLimit OptionalProperty, occupancyLowerLimit OptionalProperty, credentialsInZone OptionalProperty, lastCredentialAdded OptionalProperty, lastCredentialAddedTime OptionalProperty, lastCredentialRemoved OptionalProperty, lastCredentialRemovedTime OptionalProperty, passbackMode OptionalProperty, passbackTimeout OptionalProperty, entryPoints ReadableProperty, exitPoints ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AccessZone { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AccessZone must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AccessZone must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AccessZone must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AccessZone must not be nil") + } + if globalIdentifier == nil { + panic("globalIdentifier of type WritableProperty for AccessZone must not be nil") + } + if occupancyState == nil { + panic("occupancyState of type ReadableProperty for AccessZone must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for AccessZone must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for AccessZone must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for AccessZone must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for AccessZone must not be nil") + } + if occupancyCount == nil { + panic("occupancyCount of type OptionalProperty for AccessZone must not be nil") + } + if occupancyCountEnable == nil { + panic("occupancyCountEnable of type OptionalProperty for AccessZone must not be nil") + } + if adjustValue == nil { + panic("adjustValue of type OptionalProperty for AccessZone must not be nil") + } + if occupancyUpperLimit == nil { + panic("occupancyUpperLimit of type OptionalProperty for AccessZone must not be nil") + } + if occupancyLowerLimit == nil { + panic("occupancyLowerLimit of type OptionalProperty for AccessZone must not be nil") + } + if credentialsInZone == nil { + panic("credentialsInZone of type OptionalProperty for AccessZone must not be nil") + } + if lastCredentialAdded == nil { + panic("lastCredentialAdded of type OptionalProperty for AccessZone must not be nil") + } + if lastCredentialAddedTime == nil { + panic("lastCredentialAddedTime of type OptionalProperty for AccessZone must not be nil") + } + if lastCredentialRemoved == nil { + panic("lastCredentialRemoved of type OptionalProperty for AccessZone must not be nil") + } + if lastCredentialRemovedTime == nil { + panic("lastCredentialRemovedTime of type OptionalProperty for AccessZone must not be nil") + } + if passbackMode == nil { + panic("passbackMode of type OptionalProperty for AccessZone must not be nil") + } + if passbackTimeout == nil { + panic("passbackTimeout of type OptionalProperty for AccessZone must not be nil") + } + if entryPoints == nil { + panic("entryPoints of type ReadableProperty for AccessZone must not be nil") + } + if exitPoints == nil { + panic("exitPoints of type ReadableProperty for AccessZone must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for AccessZone must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for AccessZone must not be nil") + } + if alarmValues == nil { + panic("alarmValues of type OptionalProperty for AccessZone must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for AccessZone must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for AccessZone must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for AccessZone must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for AccessZone must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for AccessZone must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for AccessZone must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for AccessZone must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for AccessZone must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for AccessZone must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for AccessZone must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for AccessZone must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AccessZone must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AccessZone must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AccessZone must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AccessZone must not be nil") + } + return &_AccessZone{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, GlobalIdentifier: globalIdentifier, OccupancyState: occupancyState, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, OccupancyCount: occupancyCount, OccupancyCountEnable: occupancyCountEnable, AdjustValue: adjustValue, OccupancyUpperLimit: occupancyUpperLimit, OccupancyLowerLimit: occupancyLowerLimit, CredentialsInZone: credentialsInZone, LastCredentialAdded: lastCredentialAdded, LastCredentialAddedTime: lastCredentialAddedTime, LastCredentialRemoved: lastCredentialRemoved, LastCredentialRemovedTime: lastCredentialRemovedTime, PassbackMode: passbackMode, PassbackTimeout: passbackTimeout, EntryPoints: entryPoints, ExitPoints: exitPoints, TimeDelay: timeDelay, NotificationClass: notificationClass, AlarmValues: alarmValues, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AccessZoneBuilder is a builder for AccessZone +type AccessZoneBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, occupancyState ReadableProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, occupancyCount OptionalProperty, occupancyCountEnable OptionalProperty, adjustValue OptionalProperty, occupancyUpperLimit OptionalProperty, occupancyLowerLimit OptionalProperty, credentialsInZone OptionalProperty, lastCredentialAdded OptionalProperty, lastCredentialAddedTime OptionalProperty, lastCredentialRemoved OptionalProperty, lastCredentialRemovedTime OptionalProperty, passbackMode OptionalProperty, passbackTimeout OptionalProperty, entryPoints ReadableProperty, exitPoints ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessZoneBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AccessZoneBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AccessZoneBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AccessZoneBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AccessZoneBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithGlobalIdentifier adds GlobalIdentifier (property field) + WithGlobalIdentifier(WritableProperty) AccessZoneBuilder + // WithGlobalIdentifierBuilder adds GlobalIdentifier (property field) which is build by the builder + WithGlobalIdentifierBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) AccessZoneBuilder + // WithOccupancyState adds OccupancyState (property field) + WithOccupancyState(ReadableProperty) AccessZoneBuilder + // WithOccupancyStateBuilder adds OccupancyState (property field) which is build by the builder + WithOccupancyStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AccessZoneBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) AccessZoneBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) AccessZoneBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) AccessZoneBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithOccupancyCount adds OccupancyCount (property field) + WithOccupancyCount(OptionalProperty) AccessZoneBuilder + // WithOccupancyCountBuilder adds OccupancyCount (property field) which is build by the builder + WithOccupancyCountBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithOccupancyCountEnable adds OccupancyCountEnable (property field) + WithOccupancyCountEnable(OptionalProperty) AccessZoneBuilder + // WithOccupancyCountEnableBuilder adds OccupancyCountEnable (property field) which is build by the builder + WithOccupancyCountEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithAdjustValue adds AdjustValue (property field) + WithAdjustValue(OptionalProperty) AccessZoneBuilder + // WithAdjustValueBuilder adds AdjustValue (property field) which is build by the builder + WithAdjustValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithOccupancyUpperLimit adds OccupancyUpperLimit (property field) + WithOccupancyUpperLimit(OptionalProperty) AccessZoneBuilder + // WithOccupancyUpperLimitBuilder adds OccupancyUpperLimit (property field) which is build by the builder + WithOccupancyUpperLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithOccupancyLowerLimit adds OccupancyLowerLimit (property field) + WithOccupancyLowerLimit(OptionalProperty) AccessZoneBuilder + // WithOccupancyLowerLimitBuilder adds OccupancyLowerLimit (property field) which is build by the builder + WithOccupancyLowerLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithCredentialsInZone adds CredentialsInZone (property field) + WithCredentialsInZone(OptionalProperty) AccessZoneBuilder + // WithCredentialsInZoneBuilder adds CredentialsInZone (property field) which is build by the builder + WithCredentialsInZoneBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithLastCredentialAdded adds LastCredentialAdded (property field) + WithLastCredentialAdded(OptionalProperty) AccessZoneBuilder + // WithLastCredentialAddedBuilder adds LastCredentialAdded (property field) which is build by the builder + WithLastCredentialAddedBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithLastCredentialAddedTime adds LastCredentialAddedTime (property field) + WithLastCredentialAddedTime(OptionalProperty) AccessZoneBuilder + // WithLastCredentialAddedTimeBuilder adds LastCredentialAddedTime (property field) which is build by the builder + WithLastCredentialAddedTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithLastCredentialRemoved adds LastCredentialRemoved (property field) + WithLastCredentialRemoved(OptionalProperty) AccessZoneBuilder + // WithLastCredentialRemovedBuilder adds LastCredentialRemoved (property field) which is build by the builder + WithLastCredentialRemovedBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithLastCredentialRemovedTime adds LastCredentialRemovedTime (property field) + WithLastCredentialRemovedTime(OptionalProperty) AccessZoneBuilder + // WithLastCredentialRemovedTimeBuilder adds LastCredentialRemovedTime (property field) which is build by the builder + WithLastCredentialRemovedTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithPassbackMode adds PassbackMode (property field) + WithPassbackMode(OptionalProperty) AccessZoneBuilder + // WithPassbackModeBuilder adds PassbackMode (property field) which is build by the builder + WithPassbackModeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithPassbackTimeout adds PassbackTimeout (property field) + WithPassbackTimeout(OptionalProperty) AccessZoneBuilder + // WithPassbackTimeoutBuilder adds PassbackTimeout (property field) which is build by the builder + WithPassbackTimeoutBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithEntryPoints adds EntryPoints (property field) + WithEntryPoints(ReadableProperty) AccessZoneBuilder + // WithEntryPointsBuilder adds EntryPoints (property field) which is build by the builder + WithEntryPointsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithExitPoints adds ExitPoints (property field) + WithExitPoints(ReadableProperty) AccessZoneBuilder + // WithExitPointsBuilder adds ExitPoints (property field) which is build by the builder + WithExitPointsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) AccessZoneBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) AccessZoneBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithAlarmValues adds AlarmValues (property field) + WithAlarmValues(OptionalProperty) AccessZoneBuilder + // WithAlarmValuesBuilder adds AlarmValues (property field) which is build by the builder + WithAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) AccessZoneBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) AccessZoneBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) AccessZoneBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) AccessZoneBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) AccessZoneBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) AccessZoneBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) AccessZoneBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) AccessZoneBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) AccessZoneBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) AccessZoneBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AccessZoneBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AccessZoneBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AccessZoneBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AccessZoneBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AccessZoneBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder + // Build builds the AccessZone or returns an error if something is wrong + Build() (AccessZone, error) + // MustBuild does the same as Build but panics on error + MustBuild() AccessZone +} + +// NewAccessZoneBuilder() creates a AccessZoneBuilder +func NewAccessZoneBuilder() AccessZoneBuilder { + return &_AccessZoneBuilder{_AccessZone: new(_AccessZone)} +} + +type _AccessZoneBuilder struct { + *_AccessZone + + err *utils.MultiError +} + +var _ (AccessZoneBuilder) = (*_AccessZoneBuilder)(nil) + +func (b *_AccessZoneBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, globalIdentifier WritableProperty, occupancyState ReadableProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, occupancyCount OptionalProperty, occupancyCountEnable OptionalProperty, adjustValue OptionalProperty, occupancyUpperLimit OptionalProperty, occupancyLowerLimit OptionalProperty, credentialsInZone OptionalProperty, lastCredentialAdded OptionalProperty, lastCredentialAddedTime OptionalProperty, lastCredentialRemoved OptionalProperty, lastCredentialRemovedTime OptionalProperty, passbackMode OptionalProperty, passbackTimeout OptionalProperty, entryPoints ReadableProperty, exitPoints ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccessZoneBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithGlobalIdentifier(globalIdentifier).WithOccupancyState(occupancyState).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithOccupancyCount(occupancyCount).WithOccupancyCountEnable(occupancyCountEnable).WithAdjustValue(adjustValue).WithOccupancyUpperLimit(occupancyUpperLimit).WithOccupancyLowerLimit(occupancyLowerLimit).WithCredentialsInZone(credentialsInZone).WithLastCredentialAdded(lastCredentialAdded).WithLastCredentialAddedTime(lastCredentialAddedTime).WithLastCredentialRemoved(lastCredentialRemoved).WithLastCredentialRemovedTime(lastCredentialRemovedTime).WithPassbackMode(passbackMode).WithPassbackTimeout(passbackTimeout).WithEntryPoints(entryPoints).WithExitPoints(exitPoints).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithAlarmValues(alarmValues).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AccessZoneBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AccessZoneBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AccessZoneBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithObjectName(objectName ReadableProperty) AccessZoneBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AccessZoneBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithObjectType(objectType ReadableProperty) AccessZoneBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AccessZoneBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithDescription(description OptionalProperty) AccessZoneBuilder { + b.Description = description + return b +} + +func (b *_AccessZoneBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithGlobalIdentifier(globalIdentifier WritableProperty) AccessZoneBuilder { + b.GlobalIdentifier = globalIdentifier + return b +} + +func (b *_AccessZoneBuilder) WithGlobalIdentifierBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.GlobalIdentifier.CreateWritablePropertyBuilder()) + var err error + b.GlobalIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyState(occupancyState ReadableProperty) AccessZoneBuilder { + b.OccupancyState = occupancyState + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.OccupancyState.CreateReadablePropertyBuilder()) + var err error + b.OccupancyState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithStatusFlags(statusFlags ReadableProperty) AccessZoneBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AccessZoneBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithEventState(eventState ReadableProperty) AccessZoneBuilder { + b.EventState = eventState + return b +} + +func (b *_AccessZoneBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithReliability(reliability ReadableProperty) AccessZoneBuilder { + b.Reliability = reliability + return b +} + +func (b *_AccessZoneBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithOutOfService(outOfService ReadableProperty) AccessZoneBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_AccessZoneBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyCount(occupancyCount OptionalProperty) AccessZoneBuilder { + b.OccupancyCount = occupancyCount + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyCountBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.OccupancyCount.CreateOptionalPropertyBuilder()) + var err error + b.OccupancyCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyCountEnable(occupancyCountEnable OptionalProperty) AccessZoneBuilder { + b.OccupancyCountEnable = occupancyCountEnable + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyCountEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.OccupancyCountEnable.CreateOptionalPropertyBuilder()) + var err error + b.OccupancyCountEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithAdjustValue(adjustValue OptionalProperty) AccessZoneBuilder { + b.AdjustValue = adjustValue + return b +} + +func (b *_AccessZoneBuilder) WithAdjustValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.AdjustValue.CreateOptionalPropertyBuilder()) + var err error + b.AdjustValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyUpperLimit(occupancyUpperLimit OptionalProperty) AccessZoneBuilder { + b.OccupancyUpperLimit = occupancyUpperLimit + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyUpperLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.OccupancyUpperLimit.CreateOptionalPropertyBuilder()) + var err error + b.OccupancyUpperLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyLowerLimit(occupancyLowerLimit OptionalProperty) AccessZoneBuilder { + b.OccupancyLowerLimit = occupancyLowerLimit + return b +} + +func (b *_AccessZoneBuilder) WithOccupancyLowerLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.OccupancyLowerLimit.CreateOptionalPropertyBuilder()) + var err error + b.OccupancyLowerLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithCredentialsInZone(credentialsInZone OptionalProperty) AccessZoneBuilder { + b.CredentialsInZone = credentialsInZone + return b +} + +func (b *_AccessZoneBuilder) WithCredentialsInZoneBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.CredentialsInZone.CreateOptionalPropertyBuilder()) + var err error + b.CredentialsInZone, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithLastCredentialAdded(lastCredentialAdded OptionalProperty) AccessZoneBuilder { + b.LastCredentialAdded = lastCredentialAdded + return b +} + +func (b *_AccessZoneBuilder) WithLastCredentialAddedBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.LastCredentialAdded.CreateOptionalPropertyBuilder()) + var err error + b.LastCredentialAdded, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithLastCredentialAddedTime(lastCredentialAddedTime OptionalProperty) AccessZoneBuilder { + b.LastCredentialAddedTime = lastCredentialAddedTime + return b +} + +func (b *_AccessZoneBuilder) WithLastCredentialAddedTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.LastCredentialAddedTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCredentialAddedTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithLastCredentialRemoved(lastCredentialRemoved OptionalProperty) AccessZoneBuilder { + b.LastCredentialRemoved = lastCredentialRemoved + return b +} + +func (b *_AccessZoneBuilder) WithLastCredentialRemovedBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.LastCredentialRemoved.CreateOptionalPropertyBuilder()) + var err error + b.LastCredentialRemoved, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithLastCredentialRemovedTime(lastCredentialRemovedTime OptionalProperty) AccessZoneBuilder { + b.LastCredentialRemovedTime = lastCredentialRemovedTime + return b +} + +func (b *_AccessZoneBuilder) WithLastCredentialRemovedTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.LastCredentialRemovedTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCredentialRemovedTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithPassbackMode(passbackMode OptionalProperty) AccessZoneBuilder { + b.PassbackMode = passbackMode + return b +} + +func (b *_AccessZoneBuilder) WithPassbackModeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.PassbackMode.CreateOptionalPropertyBuilder()) + var err error + b.PassbackMode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithPassbackTimeout(passbackTimeout OptionalProperty) AccessZoneBuilder { + b.PassbackTimeout = passbackTimeout + return b +} + +func (b *_AccessZoneBuilder) WithPassbackTimeoutBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.PassbackTimeout.CreateOptionalPropertyBuilder()) + var err error + b.PassbackTimeout, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithEntryPoints(entryPoints ReadableProperty) AccessZoneBuilder { + b.EntryPoints = entryPoints + return b +} + +func (b *_AccessZoneBuilder) WithEntryPointsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.EntryPoints.CreateReadablePropertyBuilder()) + var err error + b.EntryPoints, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithExitPoints(exitPoints ReadableProperty) AccessZoneBuilder { + b.ExitPoints = exitPoints + return b +} + +func (b *_AccessZoneBuilder) WithExitPointsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.ExitPoints.CreateReadablePropertyBuilder()) + var err error + b.ExitPoints, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithTimeDelay(timeDelay OptionalProperty) AccessZoneBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_AccessZoneBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithNotificationClass(notificationClass OptionalProperty) AccessZoneBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_AccessZoneBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithAlarmValues(alarmValues OptionalProperty) AccessZoneBuilder { + b.AlarmValues = alarmValues + return b +} + +func (b *_AccessZoneBuilder) WithAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.AlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithEventEnable(eventEnable OptionalProperty) AccessZoneBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_AccessZoneBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) AccessZoneBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_AccessZoneBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithNotifyType(notifyType OptionalProperty) AccessZoneBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_AccessZoneBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) AccessZoneBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_AccessZoneBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) AccessZoneBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_AccessZoneBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) AccessZoneBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_AccessZoneBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) AccessZoneBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_AccessZoneBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) AccessZoneBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_AccessZoneBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) AccessZoneBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_AccessZoneBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) AccessZoneBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_AccessZoneBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AccessZoneBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AccessZoneBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithPropertyList(propertyList ReadableProperty) AccessZoneBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AccessZoneBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithTags(tags OptionalProperty) AccessZoneBuilder { + b.Tags = tags + return b +} + +func (b *_AccessZoneBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithProfileLocation(profileLocation OptionalProperty) AccessZoneBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AccessZoneBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) WithProfileName(profileName OptionalProperty) AccessZoneBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AccessZoneBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccessZoneBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccessZoneBuilder) Build() (AccessZone, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.GlobalIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'globalIdentifier' not set")) + } + if b.OccupancyState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'occupancyState' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.OccupancyCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'occupancyCount' not set")) + } + if b.OccupancyCountEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'occupancyCountEnable' not set")) + } + if b.AdjustValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'adjustValue' not set")) + } + if b.OccupancyUpperLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'occupancyUpperLimit' not set")) + } + if b.OccupancyLowerLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'occupancyLowerLimit' not set")) + } + if b.CredentialsInZone == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'credentialsInZone' not set")) + } + if b.LastCredentialAdded == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCredentialAdded' not set")) + } + if b.LastCredentialAddedTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCredentialAddedTime' not set")) + } + if b.LastCredentialRemoved == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCredentialRemoved' not set")) + } + if b.LastCredentialRemovedTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCredentialRemovedTime' not set")) + } + if b.PassbackMode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'passbackMode' not set")) + } + if b.PassbackTimeout == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'passbackTimeout' not set")) + } + if b.EntryPoints == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'entryPoints' not set")) + } + if b.ExitPoints == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'exitPoints' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.AlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValues' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AccessZone.deepCopy(), nil +} + +func (b *_AccessZoneBuilder) MustBuild() AccessZone { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AccessZoneBuilder) DeepCopy() any { + _copy := b.CreateAccessZoneBuilder().(*_AccessZoneBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAccessZoneBuilder creates a AccessZoneBuilder +func (b *_AccessZone) CreateAccessZoneBuilder() AccessZoneBuilder { + if b == nil { + return NewAccessZoneBuilder() + } + return &_AccessZoneBuilder{_AccessZone: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AccessZone) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AccessZone) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AccessZone) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AccessZone) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AccessZone) GetGlobalIdentifier() WritableProperty { + return m.GlobalIdentifier +} + +func (m *_AccessZone) GetOccupancyState() ReadableProperty { + return m.OccupancyState +} + +func (m *_AccessZone) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_AccessZone) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_AccessZone) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_AccessZone) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_AccessZone) GetOccupancyCount() OptionalProperty { + return m.OccupancyCount +} + +func (m *_AccessZone) GetOccupancyCountEnable() OptionalProperty { + return m.OccupancyCountEnable +} + +func (m *_AccessZone) GetAdjustValue() OptionalProperty { + return m.AdjustValue +} + +func (m *_AccessZone) GetOccupancyUpperLimit() OptionalProperty { + return m.OccupancyUpperLimit +} + +func (m *_AccessZone) GetOccupancyLowerLimit() OptionalProperty { + return m.OccupancyLowerLimit +} + +func (m *_AccessZone) GetCredentialsInZone() OptionalProperty { + return m.CredentialsInZone +} + +func (m *_AccessZone) GetLastCredentialAdded() OptionalProperty { + return m.LastCredentialAdded +} + +func (m *_AccessZone) GetLastCredentialAddedTime() OptionalProperty { + return m.LastCredentialAddedTime +} + +func (m *_AccessZone) GetLastCredentialRemoved() OptionalProperty { + return m.LastCredentialRemoved +} + +func (m *_AccessZone) GetLastCredentialRemovedTime() OptionalProperty { + return m.LastCredentialRemovedTime +} + +func (m *_AccessZone) GetPassbackMode() OptionalProperty { + return m.PassbackMode +} + +func (m *_AccessZone) GetPassbackTimeout() OptionalProperty { + return m.PassbackTimeout +} + +func (m *_AccessZone) GetEntryPoints() ReadableProperty { + return m.EntryPoints +} + +func (m *_AccessZone) GetExitPoints() ReadableProperty { + return m.ExitPoints +} + +func (m *_AccessZone) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_AccessZone) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_AccessZone) GetAlarmValues() OptionalProperty { + return m.AlarmValues +} + +func (m *_AccessZone) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_AccessZone) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_AccessZone) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_AccessZone) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_AccessZone) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_AccessZone) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_AccessZone) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_AccessZone) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_AccessZone) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_AccessZone) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_AccessZone) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_AccessZone) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AccessZone) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AccessZone) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AccessZone) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAccessZone(structType any) AccessZone { + if casted, ok := structType.(AccessZone); ok { + return casted + } + if casted, ok := structType.(*AccessZone); ok { + return *casted + } + return nil +} + +func (m *_AccessZone) GetTypeName() string { + return "AccessZone" +} + +func (m *_AccessZone) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (globalIdentifier) + lengthInBits += m.GlobalIdentifier.GetLengthInBits(ctx) + + // Simple field (occupancyState) + lengthInBits += m.OccupancyState.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (occupancyCount) + lengthInBits += m.OccupancyCount.GetLengthInBits(ctx) + + // Simple field (occupancyCountEnable) + lengthInBits += m.OccupancyCountEnable.GetLengthInBits(ctx) + + // Simple field (adjustValue) + lengthInBits += m.AdjustValue.GetLengthInBits(ctx) + + // Simple field (occupancyUpperLimit) + lengthInBits += m.OccupancyUpperLimit.GetLengthInBits(ctx) + + // Simple field (occupancyLowerLimit) + lengthInBits += m.OccupancyLowerLimit.GetLengthInBits(ctx) + + // Simple field (credentialsInZone) + lengthInBits += m.CredentialsInZone.GetLengthInBits(ctx) + + // Simple field (lastCredentialAdded) + lengthInBits += m.LastCredentialAdded.GetLengthInBits(ctx) + + // Simple field (lastCredentialAddedTime) + lengthInBits += m.LastCredentialAddedTime.GetLengthInBits(ctx) + + // Simple field (lastCredentialRemoved) + lengthInBits += m.LastCredentialRemoved.GetLengthInBits(ctx) + + // Simple field (lastCredentialRemovedTime) + lengthInBits += m.LastCredentialRemovedTime.GetLengthInBits(ctx) + + // Simple field (passbackMode) + lengthInBits += m.PassbackMode.GetLengthInBits(ctx) + + // Simple field (passbackTimeout) + lengthInBits += m.PassbackTimeout.GetLengthInBits(ctx) + + // Simple field (entryPoints) + lengthInBits += m.EntryPoints.GetLengthInBits(ctx) + + // Simple field (exitPoints) + lengthInBits += m.ExitPoints.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (alarmValues) + lengthInBits += m.AlarmValues.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AccessZone) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AccessZoneParse(ctx context.Context, theBytes []byte) (AccessZone, error) { + return AccessZoneParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AccessZoneParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessZone, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AccessZone, error) { + return AccessZoneParseWithBuffer(ctx, readBuffer) + } +} + +func AccessZoneParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AccessZone, error) { + v, err := (&_AccessZone{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AccessZone) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__accessZone AccessZone, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AccessZone"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AccessZone") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + globalIdentifier, err := ReadSimpleField[WritableProperty](ctx, "globalIdentifier", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'globalIdentifier' field")) + } + m.GlobalIdentifier = globalIdentifier + + occupancyState, err := ReadSimpleField[ReadableProperty](ctx, "occupancyState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetAccessZoneOccupancyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'occupancyState' field")) + } + m.OccupancyState = occupancyState + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + occupancyCount, err := ReadSimpleField[OptionalProperty](ctx, "occupancyCount", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'occupancyCount' field")) + } + m.OccupancyCount = occupancyCount + + occupancyCountEnable, err := ReadSimpleField[OptionalProperty](ctx, "occupancyCountEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'occupancyCountEnable' field")) + } + m.OccupancyCountEnable = occupancyCountEnable + + adjustValue, err := ReadSimpleField[OptionalProperty](ctx, "adjustValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'adjustValue' field")) + } + m.AdjustValue = adjustValue + + occupancyUpperLimit, err := ReadSimpleField[OptionalProperty](ctx, "occupancyUpperLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'occupancyUpperLimit' field")) + } + m.OccupancyUpperLimit = occupancyUpperLimit + + occupancyLowerLimit, err := ReadSimpleField[OptionalProperty](ctx, "occupancyLowerLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'occupancyLowerLimit' field")) + } + m.OccupancyLowerLimit = occupancyLowerLimit + + credentialsInZone, err := ReadSimpleField[OptionalProperty](ctx, "credentialsInZone", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'credentialsInZone' field")) + } + m.CredentialsInZone = credentialsInZone + + lastCredentialAdded, err := ReadSimpleField[OptionalProperty](ctx, "lastCredentialAdded", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCredentialAdded' field")) + } + m.LastCredentialAdded = lastCredentialAdded + + lastCredentialAddedTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCredentialAddedTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCredentialAddedTime' field")) + } + m.LastCredentialAddedTime = lastCredentialAddedTime + + lastCredentialRemoved, err := ReadSimpleField[OptionalProperty](ctx, "lastCredentialRemoved", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCredentialRemoved' field")) + } + m.LastCredentialRemoved = lastCredentialRemoved + + lastCredentialRemovedTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCredentialRemovedTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCredentialRemovedTime' field")) + } + m.LastCredentialRemovedTime = lastCredentialRemovedTime + + passbackMode, err := ReadSimpleField[OptionalProperty](ctx, "passbackMode", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetAccessPassbackMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'passbackMode' field")) + } + m.PassbackMode = passbackMode + + passbackTimeout, err := ReadSimpleField[OptionalProperty](ctx, "passbackTimeout", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'passbackTimeout' field")) + } + m.PassbackTimeout = passbackTimeout + + entryPoints, err := ReadSimpleField[ReadableProperty](ctx, "entryPoints", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'entryPoints' field")) + } + m.EntryPoints = entryPoints + + exitPoints, err := ReadSimpleField[ReadableProperty](ctx, "exitPoints", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'exitPoints' field")) + } + m.ExitPoints = exitPoints + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + alarmValues, err := ReadSimpleField[OptionalProperty](ctx, "alarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetAccessZoneOccupancyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValues' field")) + } + m.AlarmValues = alarmValues + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AccessZone"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AccessZone") + } + + return m, nil +} + +func (m *_AccessZone) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AccessZone) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AccessZone"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AccessZone") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "globalIdentifier", m.GetGlobalIdentifier(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'globalIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "occupancyState", m.GetOccupancyState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'occupancyState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "occupancyCount", m.GetOccupancyCount(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'occupancyCount' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "occupancyCountEnable", m.GetOccupancyCountEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'occupancyCountEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "adjustValue", m.GetAdjustValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'adjustValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "occupancyUpperLimit", m.GetOccupancyUpperLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'occupancyUpperLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "occupancyLowerLimit", m.GetOccupancyLowerLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'occupancyLowerLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "credentialsInZone", m.GetCredentialsInZone(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'credentialsInZone' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCredentialAdded", m.GetLastCredentialAdded(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCredentialAdded' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCredentialAddedTime", m.GetLastCredentialAddedTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCredentialAddedTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCredentialRemoved", m.GetLastCredentialRemoved(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCredentialRemoved' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCredentialRemovedTime", m.GetLastCredentialRemovedTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCredentialRemovedTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "passbackMode", m.GetPassbackMode(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'passbackMode' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "passbackTimeout", m.GetPassbackTimeout(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'passbackTimeout' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "entryPoints", m.GetEntryPoints(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'entryPoints' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "exitPoints", m.GetExitPoints(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'exitPoints' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValues", m.GetAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AccessZone"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AccessZone") + } + return nil +} + +func (m *_AccessZone) IsAccessZone() {} + +func (m *_AccessZone) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AccessZone) deepCopy() *_AccessZone { + if m == nil { + return nil + } + _AccessZoneCopy := &_AccessZone{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.GlobalIdentifier.DeepCopy().(WritableProperty), + m.OccupancyState.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.OccupancyCount.DeepCopy().(OptionalProperty), + m.OccupancyCountEnable.DeepCopy().(OptionalProperty), + m.AdjustValue.DeepCopy().(OptionalProperty), + m.OccupancyUpperLimit.DeepCopy().(OptionalProperty), + m.OccupancyLowerLimit.DeepCopy().(OptionalProperty), + m.CredentialsInZone.DeepCopy().(OptionalProperty), + m.LastCredentialAdded.DeepCopy().(OptionalProperty), + m.LastCredentialAddedTime.DeepCopy().(OptionalProperty), + m.LastCredentialRemoved.DeepCopy().(OptionalProperty), + m.LastCredentialRemovedTime.DeepCopy().(OptionalProperty), + m.PassbackMode.DeepCopy().(OptionalProperty), + m.PassbackTimeout.DeepCopy().(OptionalProperty), + m.EntryPoints.DeepCopy().(ReadableProperty), + m.ExitPoints.DeepCopy().(ReadableProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.AlarmValues.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AccessZoneCopy +} + +func (m *_AccessZone) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Accumulator.go b/plc4go/protocols/bacnetip/readwrite/model/Accumulator.go new file mode 100644 index 00000000000..f369d15058f --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Accumulator.go @@ -0,0 +1,2484 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Accumulator is the corresponding interface of Accumulator +type Accumulator interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetDeviceType returns DeviceType (property field) + GetDeviceType() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetScale returns Scale (property field) + GetScale() ReadableProperty + // GetUnits returns Units (property field) + GetUnits() ReadableProperty + // GetPrescale returns Prescale (property field) + GetPrescale() OptionalProperty + // GetMaxPresValue returns MaxPresValue (property field) + GetMaxPresValue() ReadableProperty + // GetValueChangeTime returns ValueChangeTime (property field) + GetValueChangeTime() OptionalProperty + // GetValueBeforeChange returns ValueBeforeChange (property field) + GetValueBeforeChange() OptionalProperty + // GetValueSet returns ValueSet (property field) + GetValueSet() OptionalProperty + // GetLoggingRecord returns LoggingRecord (property field) + GetLoggingRecord() OptionalProperty + // GetLoggingObject returns LoggingObject (property field) + GetLoggingObject() OptionalProperty + // GetPulseRate returns PulseRate (property field) + GetPulseRate() OptionalProperty + // GetHighLimit returns HighLimit (property field) + GetHighLimit() OptionalProperty + // GetLowLimit returns LowLimit (property field) + GetLowLimit() OptionalProperty + // GetLimitMonitoringInterval returns LimitMonitoringInterval (property field) + GetLimitMonitoringInterval() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetLimitEnable returns LimitEnable (property field) + GetLimitEnable() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetFaultHighLimit returns FaultHighLimit (property field) + GetFaultHighLimit() OptionalProperty + // GetFaultLowLimit returns FaultLowLimit (property field) + GetFaultLowLimit() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAccumulator is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAccumulator() + // CreateBuilder creates a AccumulatorBuilder + CreateAccumulatorBuilder() AccumulatorBuilder +} + +// _Accumulator is the data-structure of this message +type _Accumulator struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + DeviceType OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + Scale ReadableProperty + Units ReadableProperty + Prescale OptionalProperty + MaxPresValue ReadableProperty + ValueChangeTime OptionalProperty + ValueBeforeChange OptionalProperty + ValueSet OptionalProperty + LoggingRecord OptionalProperty + LoggingObject OptionalProperty + PulseRate OptionalProperty + HighLimit OptionalProperty + LowLimit OptionalProperty + LimitMonitoringInterval OptionalProperty + NotificationClass OptionalProperty + TimeDelay OptionalProperty + LimitEnable OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + FaultHighLimit OptionalProperty + FaultLowLimit OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Accumulator = (*_Accumulator)(nil) + +// NewAccumulator factory function for _Accumulator +func NewAccumulator(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, scale ReadableProperty, units ReadableProperty, prescale OptionalProperty, maxPresValue ReadableProperty, valueChangeTime OptionalProperty, valueBeforeChange OptionalProperty, valueSet OptionalProperty, loggingRecord OptionalProperty, loggingObject OptionalProperty, pulseRate OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, limitMonitoringInterval OptionalProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Accumulator { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Accumulator must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Accumulator must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Accumulator must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for Accumulator must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Accumulator must not be nil") + } + if deviceType == nil { + panic("deviceType of type OptionalProperty for Accumulator must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for Accumulator must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for Accumulator must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for Accumulator must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for Accumulator must not be nil") + } + if scale == nil { + panic("scale of type ReadableProperty for Accumulator must not be nil") + } + if units == nil { + panic("units of type ReadableProperty for Accumulator must not be nil") + } + if prescale == nil { + panic("prescale of type OptionalProperty for Accumulator must not be nil") + } + if maxPresValue == nil { + panic("maxPresValue of type ReadableProperty for Accumulator must not be nil") + } + if valueChangeTime == nil { + panic("valueChangeTime of type OptionalProperty for Accumulator must not be nil") + } + if valueBeforeChange == nil { + panic("valueBeforeChange of type OptionalProperty for Accumulator must not be nil") + } + if valueSet == nil { + panic("valueSet of type OptionalProperty for Accumulator must not be nil") + } + if loggingRecord == nil { + panic("loggingRecord of type OptionalProperty for Accumulator must not be nil") + } + if loggingObject == nil { + panic("loggingObject of type OptionalProperty for Accumulator must not be nil") + } + if pulseRate == nil { + panic("pulseRate of type OptionalProperty for Accumulator must not be nil") + } + if highLimit == nil { + panic("highLimit of type OptionalProperty for Accumulator must not be nil") + } + if lowLimit == nil { + panic("lowLimit of type OptionalProperty for Accumulator must not be nil") + } + if limitMonitoringInterval == nil { + panic("limitMonitoringInterval of type OptionalProperty for Accumulator must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Accumulator must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for Accumulator must not be nil") + } + if limitEnable == nil { + panic("limitEnable of type OptionalProperty for Accumulator must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Accumulator must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Accumulator must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Accumulator must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Accumulator must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Accumulator must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Accumulator must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Accumulator must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for Accumulator must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for Accumulator must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for Accumulator must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Accumulator must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Accumulator must not be nil") + } + if faultHighLimit == nil { + panic("faultHighLimit of type OptionalProperty for Accumulator must not be nil") + } + if faultLowLimit == nil { + panic("faultLowLimit of type OptionalProperty for Accumulator must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Accumulator must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Accumulator must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Accumulator must not be nil") + } + return &_Accumulator{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, DeviceType: deviceType, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Scale: scale, Units: units, Prescale: prescale, MaxPresValue: maxPresValue, ValueChangeTime: valueChangeTime, ValueBeforeChange: valueBeforeChange, ValueSet: valueSet, LoggingRecord: loggingRecord, LoggingObject: loggingObject, PulseRate: pulseRate, HighLimit: highLimit, LowLimit: lowLimit, LimitMonitoringInterval: limitMonitoringInterval, NotificationClass: notificationClass, TimeDelay: timeDelay, LimitEnable: limitEnable, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, FaultHighLimit: faultHighLimit, FaultLowLimit: faultLowLimit, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AccumulatorBuilder is a builder for Accumulator +type AccumulatorBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, scale ReadableProperty, units ReadableProperty, prescale OptionalProperty, maxPresValue ReadableProperty, valueChangeTime OptionalProperty, valueBeforeChange OptionalProperty, valueSet OptionalProperty, loggingRecord OptionalProperty, loggingObject OptionalProperty, pulseRate OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, limitMonitoringInterval OptionalProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccumulatorBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AccumulatorBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AccumulatorBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AccumulatorBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) AccumulatorBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AccumulatorBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithDeviceType adds DeviceType (property field) + WithDeviceType(OptionalProperty) AccumulatorBuilder + // WithDeviceTypeBuilder adds DeviceType (property field) which is build by the builder + WithDeviceTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AccumulatorBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) AccumulatorBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) AccumulatorBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) AccumulatorBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithScale adds Scale (property field) + WithScale(ReadableProperty) AccumulatorBuilder + // WithScaleBuilder adds Scale (property field) which is build by the builder + WithScaleBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithUnits adds Units (property field) + WithUnits(ReadableProperty) AccumulatorBuilder + // WithUnitsBuilder adds Units (property field) which is build by the builder + WithUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithPrescale adds Prescale (property field) + WithPrescale(OptionalProperty) AccumulatorBuilder + // WithPrescaleBuilder adds Prescale (property field) which is build by the builder + WithPrescaleBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithMaxPresValue adds MaxPresValue (property field) + WithMaxPresValue(ReadableProperty) AccumulatorBuilder + // WithMaxPresValueBuilder adds MaxPresValue (property field) which is build by the builder + WithMaxPresValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithValueChangeTime adds ValueChangeTime (property field) + WithValueChangeTime(OptionalProperty) AccumulatorBuilder + // WithValueChangeTimeBuilder adds ValueChangeTime (property field) which is build by the builder + WithValueChangeTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithValueBeforeChange adds ValueBeforeChange (property field) + WithValueBeforeChange(OptionalProperty) AccumulatorBuilder + // WithValueBeforeChangeBuilder adds ValueBeforeChange (property field) which is build by the builder + WithValueBeforeChangeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithValueSet adds ValueSet (property field) + WithValueSet(OptionalProperty) AccumulatorBuilder + // WithValueSetBuilder adds ValueSet (property field) which is build by the builder + WithValueSetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithLoggingRecord adds LoggingRecord (property field) + WithLoggingRecord(OptionalProperty) AccumulatorBuilder + // WithLoggingRecordBuilder adds LoggingRecord (property field) which is build by the builder + WithLoggingRecordBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithLoggingObject adds LoggingObject (property field) + WithLoggingObject(OptionalProperty) AccumulatorBuilder + // WithLoggingObjectBuilder adds LoggingObject (property field) which is build by the builder + WithLoggingObjectBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithPulseRate adds PulseRate (property field) + WithPulseRate(OptionalProperty) AccumulatorBuilder + // WithPulseRateBuilder adds PulseRate (property field) which is build by the builder + WithPulseRateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithHighLimit adds HighLimit (property field) + WithHighLimit(OptionalProperty) AccumulatorBuilder + // WithHighLimitBuilder adds HighLimit (property field) which is build by the builder + WithHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithLowLimit adds LowLimit (property field) + WithLowLimit(OptionalProperty) AccumulatorBuilder + // WithLowLimitBuilder adds LowLimit (property field) which is build by the builder + WithLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithLimitMonitoringInterval adds LimitMonitoringInterval (property field) + WithLimitMonitoringInterval(OptionalProperty) AccumulatorBuilder + // WithLimitMonitoringIntervalBuilder adds LimitMonitoringInterval (property field) which is build by the builder + WithLimitMonitoringIntervalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) AccumulatorBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) AccumulatorBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithLimitEnable adds LimitEnable (property field) + WithLimitEnable(OptionalProperty) AccumulatorBuilder + // WithLimitEnableBuilder adds LimitEnable (property field) which is build by the builder + WithLimitEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) AccumulatorBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) AccumulatorBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) AccumulatorBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) AccumulatorBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) AccumulatorBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) AccumulatorBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) AccumulatorBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) AccumulatorBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) AccumulatorBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) AccumulatorBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AccumulatorBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AccumulatorBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder + // WithFaultHighLimit adds FaultHighLimit (property field) + WithFaultHighLimit(OptionalProperty) AccumulatorBuilder + // WithFaultHighLimitBuilder adds FaultHighLimit (property field) which is build by the builder + WithFaultHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithFaultLowLimit adds FaultLowLimit (property field) + WithFaultLowLimit(OptionalProperty) AccumulatorBuilder + // WithFaultLowLimitBuilder adds FaultLowLimit (property field) which is build by the builder + WithFaultLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AccumulatorBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AccumulatorBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AccumulatorBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder + // Build builds the Accumulator or returns an error if something is wrong + Build() (Accumulator, error) + // MustBuild does the same as Build but panics on error + MustBuild() Accumulator +} + +// NewAccumulatorBuilder() creates a AccumulatorBuilder +func NewAccumulatorBuilder() AccumulatorBuilder { + return &_AccumulatorBuilder{_Accumulator: new(_Accumulator)} +} + +type _AccumulatorBuilder struct { + *_Accumulator + + err *utils.MultiError +} + +var _ (AccumulatorBuilder) = (*_AccumulatorBuilder)(nil) + +func (b *_AccumulatorBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, scale ReadableProperty, units ReadableProperty, prescale OptionalProperty, maxPresValue ReadableProperty, valueChangeTime OptionalProperty, valueBeforeChange OptionalProperty, valueSet OptionalProperty, loggingRecord OptionalProperty, loggingObject OptionalProperty, pulseRate OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, limitMonitoringInterval OptionalProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AccumulatorBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithDeviceType(deviceType).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithScale(scale).WithUnits(units).WithPrescale(prescale).WithMaxPresValue(maxPresValue).WithValueChangeTime(valueChangeTime).WithValueBeforeChange(valueBeforeChange).WithValueSet(valueSet).WithLoggingRecord(loggingRecord).WithLoggingObject(loggingObject).WithPulseRate(pulseRate).WithHighLimit(highLimit).WithLowLimit(lowLimit).WithLimitMonitoringInterval(limitMonitoringInterval).WithNotificationClass(notificationClass).WithTimeDelay(timeDelay).WithLimitEnable(limitEnable).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithFaultHighLimit(faultHighLimit).WithFaultLowLimit(faultLowLimit).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AccumulatorBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AccumulatorBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AccumulatorBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithObjectName(objectName ReadableProperty) AccumulatorBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AccumulatorBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithObjectType(objectType ReadableProperty) AccumulatorBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AccumulatorBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithPresentValue(presentValue ReadableProperty) AccumulatorBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_AccumulatorBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithDescription(description OptionalProperty) AccumulatorBuilder { + b.Description = description + return b +} + +func (b *_AccumulatorBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithDeviceType(deviceType OptionalProperty) AccumulatorBuilder { + b.DeviceType = deviceType + return b +} + +func (b *_AccumulatorBuilder) WithDeviceTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.DeviceType.CreateOptionalPropertyBuilder()) + var err error + b.DeviceType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithStatusFlags(statusFlags ReadableProperty) AccumulatorBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AccumulatorBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithEventState(eventState ReadableProperty) AccumulatorBuilder { + b.EventState = eventState + return b +} + +func (b *_AccumulatorBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithReliability(reliability OptionalProperty) AccumulatorBuilder { + b.Reliability = reliability + return b +} + +func (b *_AccumulatorBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithOutOfService(outOfService ReadableProperty) AccumulatorBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_AccumulatorBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithScale(scale ReadableProperty) AccumulatorBuilder { + b.Scale = scale + return b +} + +func (b *_AccumulatorBuilder) WithScaleBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.Scale.CreateReadablePropertyBuilder()) + var err error + b.Scale, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithUnits(units ReadableProperty) AccumulatorBuilder { + b.Units = units + return b +} + +func (b *_AccumulatorBuilder) WithUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.Units.CreateReadablePropertyBuilder()) + var err error + b.Units, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithPrescale(prescale OptionalProperty) AccumulatorBuilder { + b.Prescale = prescale + return b +} + +func (b *_AccumulatorBuilder) WithPrescaleBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.Prescale.CreateOptionalPropertyBuilder()) + var err error + b.Prescale, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithMaxPresValue(maxPresValue ReadableProperty) AccumulatorBuilder { + b.MaxPresValue = maxPresValue + return b +} + +func (b *_AccumulatorBuilder) WithMaxPresValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.MaxPresValue.CreateReadablePropertyBuilder()) + var err error + b.MaxPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithValueChangeTime(valueChangeTime OptionalProperty) AccumulatorBuilder { + b.ValueChangeTime = valueChangeTime + return b +} + +func (b *_AccumulatorBuilder) WithValueChangeTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.ValueChangeTime.CreateOptionalPropertyBuilder()) + var err error + b.ValueChangeTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithValueBeforeChange(valueBeforeChange OptionalProperty) AccumulatorBuilder { + b.ValueBeforeChange = valueBeforeChange + return b +} + +func (b *_AccumulatorBuilder) WithValueBeforeChangeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.ValueBeforeChange.CreateOptionalPropertyBuilder()) + var err error + b.ValueBeforeChange, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithValueSet(valueSet OptionalProperty) AccumulatorBuilder { + b.ValueSet = valueSet + return b +} + +func (b *_AccumulatorBuilder) WithValueSetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.ValueSet.CreateOptionalPropertyBuilder()) + var err error + b.ValueSet, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithLoggingRecord(loggingRecord OptionalProperty) AccumulatorBuilder { + b.LoggingRecord = loggingRecord + return b +} + +func (b *_AccumulatorBuilder) WithLoggingRecordBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.LoggingRecord.CreateOptionalPropertyBuilder()) + var err error + b.LoggingRecord, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithLoggingObject(loggingObject OptionalProperty) AccumulatorBuilder { + b.LoggingObject = loggingObject + return b +} + +func (b *_AccumulatorBuilder) WithLoggingObjectBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.LoggingObject.CreateOptionalPropertyBuilder()) + var err error + b.LoggingObject, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithPulseRate(pulseRate OptionalProperty) AccumulatorBuilder { + b.PulseRate = pulseRate + return b +} + +func (b *_AccumulatorBuilder) WithPulseRateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.PulseRate.CreateOptionalPropertyBuilder()) + var err error + b.PulseRate, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithHighLimit(highLimit OptionalProperty) AccumulatorBuilder { + b.HighLimit = highLimit + return b +} + +func (b *_AccumulatorBuilder) WithHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.HighLimit.CreateOptionalPropertyBuilder()) + var err error + b.HighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithLowLimit(lowLimit OptionalProperty) AccumulatorBuilder { + b.LowLimit = lowLimit + return b +} + +func (b *_AccumulatorBuilder) WithLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.LowLimit.CreateOptionalPropertyBuilder()) + var err error + b.LowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithLimitMonitoringInterval(limitMonitoringInterval OptionalProperty) AccumulatorBuilder { + b.LimitMonitoringInterval = limitMonitoringInterval + return b +} + +func (b *_AccumulatorBuilder) WithLimitMonitoringIntervalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.LimitMonitoringInterval.CreateOptionalPropertyBuilder()) + var err error + b.LimitMonitoringInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithNotificationClass(notificationClass OptionalProperty) AccumulatorBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_AccumulatorBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithTimeDelay(timeDelay OptionalProperty) AccumulatorBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_AccumulatorBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithLimitEnable(limitEnable OptionalProperty) AccumulatorBuilder { + b.LimitEnable = limitEnable + return b +} + +func (b *_AccumulatorBuilder) WithLimitEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.LimitEnable.CreateOptionalPropertyBuilder()) + var err error + b.LimitEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithEventEnable(eventEnable OptionalProperty) AccumulatorBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_AccumulatorBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) AccumulatorBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_AccumulatorBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithNotifyType(notifyType OptionalProperty) AccumulatorBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_AccumulatorBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) AccumulatorBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_AccumulatorBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) AccumulatorBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_AccumulatorBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) AccumulatorBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_AccumulatorBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) AccumulatorBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_AccumulatorBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) AccumulatorBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_AccumulatorBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) AccumulatorBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_AccumulatorBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) AccumulatorBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_AccumulatorBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AccumulatorBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AccumulatorBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithPropertyList(propertyList ReadableProperty) AccumulatorBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AccumulatorBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithFaultHighLimit(faultHighLimit OptionalProperty) AccumulatorBuilder { + b.FaultHighLimit = faultHighLimit + return b +} + +func (b *_AccumulatorBuilder) WithFaultHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.FaultHighLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultHighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithFaultLowLimit(faultLowLimit OptionalProperty) AccumulatorBuilder { + b.FaultLowLimit = faultLowLimit + return b +} + +func (b *_AccumulatorBuilder) WithFaultLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.FaultLowLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultLowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithTags(tags OptionalProperty) AccumulatorBuilder { + b.Tags = tags + return b +} + +func (b *_AccumulatorBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithProfileLocation(profileLocation OptionalProperty) AccumulatorBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AccumulatorBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) WithProfileName(profileName OptionalProperty) AccumulatorBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AccumulatorBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AccumulatorBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AccumulatorBuilder) Build() (Accumulator, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.DeviceType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceType' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Scale == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'scale' not set")) + } + if b.Units == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'units' not set")) + } + if b.Prescale == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'prescale' not set")) + } + if b.MaxPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxPresValue' not set")) + } + if b.ValueChangeTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueChangeTime' not set")) + } + if b.ValueBeforeChange == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueBeforeChange' not set")) + } + if b.ValueSet == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSet' not set")) + } + if b.LoggingRecord == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'loggingRecord' not set")) + } + if b.LoggingObject == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'loggingObject' not set")) + } + if b.PulseRate == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'pulseRate' not set")) + } + if b.HighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'highLimit' not set")) + } + if b.LowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowLimit' not set")) + } + if b.LimitMonitoringInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'limitMonitoringInterval' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.LimitEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'limitEnable' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.FaultHighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultHighLimit' not set")) + } + if b.FaultLowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultLowLimit' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Accumulator.deepCopy(), nil +} + +func (b *_AccumulatorBuilder) MustBuild() Accumulator { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AccumulatorBuilder) DeepCopy() any { + _copy := b.CreateAccumulatorBuilder().(*_AccumulatorBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAccumulatorBuilder creates a AccumulatorBuilder +func (b *_Accumulator) CreateAccumulatorBuilder() AccumulatorBuilder { + if b == nil { + return NewAccumulatorBuilder() + } + return &_AccumulatorBuilder{_Accumulator: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Accumulator) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Accumulator) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Accumulator) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Accumulator) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_Accumulator) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Accumulator) GetDeviceType() OptionalProperty { + return m.DeviceType +} + +func (m *_Accumulator) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_Accumulator) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_Accumulator) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_Accumulator) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_Accumulator) GetScale() ReadableProperty { + return m.Scale +} + +func (m *_Accumulator) GetUnits() ReadableProperty { + return m.Units +} + +func (m *_Accumulator) GetPrescale() OptionalProperty { + return m.Prescale +} + +func (m *_Accumulator) GetMaxPresValue() ReadableProperty { + return m.MaxPresValue +} + +func (m *_Accumulator) GetValueChangeTime() OptionalProperty { + return m.ValueChangeTime +} + +func (m *_Accumulator) GetValueBeforeChange() OptionalProperty { + return m.ValueBeforeChange +} + +func (m *_Accumulator) GetValueSet() OptionalProperty { + return m.ValueSet +} + +func (m *_Accumulator) GetLoggingRecord() OptionalProperty { + return m.LoggingRecord +} + +func (m *_Accumulator) GetLoggingObject() OptionalProperty { + return m.LoggingObject +} + +func (m *_Accumulator) GetPulseRate() OptionalProperty { + return m.PulseRate +} + +func (m *_Accumulator) GetHighLimit() OptionalProperty { + return m.HighLimit +} + +func (m *_Accumulator) GetLowLimit() OptionalProperty { + return m.LowLimit +} + +func (m *_Accumulator) GetLimitMonitoringInterval() OptionalProperty { + return m.LimitMonitoringInterval +} + +func (m *_Accumulator) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Accumulator) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_Accumulator) GetLimitEnable() OptionalProperty { + return m.LimitEnable +} + +func (m *_Accumulator) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Accumulator) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Accumulator) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Accumulator) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Accumulator) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Accumulator) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Accumulator) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Accumulator) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_Accumulator) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_Accumulator) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_Accumulator) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Accumulator) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Accumulator) GetFaultHighLimit() OptionalProperty { + return m.FaultHighLimit +} + +func (m *_Accumulator) GetFaultLowLimit() OptionalProperty { + return m.FaultLowLimit +} + +func (m *_Accumulator) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Accumulator) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Accumulator) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAccumulator(structType any) Accumulator { + if casted, ok := structType.(Accumulator); ok { + return casted + } + if casted, ok := structType.(*Accumulator); ok { + return *casted + } + return nil +} + +func (m *_Accumulator) GetTypeName() string { + return "Accumulator" +} + +func (m *_Accumulator) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (deviceType) + lengthInBits += m.DeviceType.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (scale) + lengthInBits += m.Scale.GetLengthInBits(ctx) + + // Simple field (units) + lengthInBits += m.Units.GetLengthInBits(ctx) + + // Simple field (prescale) + lengthInBits += m.Prescale.GetLengthInBits(ctx) + + // Simple field (maxPresValue) + lengthInBits += m.MaxPresValue.GetLengthInBits(ctx) + + // Simple field (valueChangeTime) + lengthInBits += m.ValueChangeTime.GetLengthInBits(ctx) + + // Simple field (valueBeforeChange) + lengthInBits += m.ValueBeforeChange.GetLengthInBits(ctx) + + // Simple field (valueSet) + lengthInBits += m.ValueSet.GetLengthInBits(ctx) + + // Simple field (loggingRecord) + lengthInBits += m.LoggingRecord.GetLengthInBits(ctx) + + // Simple field (loggingObject) + lengthInBits += m.LoggingObject.GetLengthInBits(ctx) + + // Simple field (pulseRate) + lengthInBits += m.PulseRate.GetLengthInBits(ctx) + + // Simple field (highLimit) + lengthInBits += m.HighLimit.GetLengthInBits(ctx) + + // Simple field (lowLimit) + lengthInBits += m.LowLimit.GetLengthInBits(ctx) + + // Simple field (limitMonitoringInterval) + lengthInBits += m.LimitMonitoringInterval.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (limitEnable) + lengthInBits += m.LimitEnable.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (faultHighLimit) + lengthInBits += m.FaultHighLimit.GetLengthInBits(ctx) + + // Simple field (faultLowLimit) + lengthInBits += m.FaultLowLimit.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Accumulator) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AccumulatorParse(ctx context.Context, theBytes []byte) (Accumulator, error) { + return AccumulatorParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AccumulatorParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Accumulator, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Accumulator, error) { + return AccumulatorParseWithBuffer(ctx, readBuffer) + } +} + +func AccumulatorParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Accumulator, error) { + v, err := (&_Accumulator{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Accumulator) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__accumulator Accumulator, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Accumulator"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Accumulator") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + deviceType, err := ReadSimpleField[OptionalProperty](ctx, "deviceType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceType' field")) + } + m.DeviceType = deviceType + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + scale, err := ReadSimpleField[ReadableProperty](ctx, "scale", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetScale")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'scale' field")) + } + m.Scale = scale + + units, err := ReadSimpleField[ReadableProperty](ctx, "units", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'units' field")) + } + m.Units = units + + prescale, err := ReadSimpleField[OptionalProperty](ctx, "prescale", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPrescale")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'prescale' field")) + } + m.Prescale = prescale + + maxPresValue, err := ReadSimpleField[ReadableProperty](ctx, "maxPresValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxPresValue' field")) + } + m.MaxPresValue = maxPresValue + + valueChangeTime, err := ReadSimpleField[OptionalProperty](ctx, "valueChangeTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueChangeTime' field")) + } + m.ValueChangeTime = valueChangeTime + + valueBeforeChange, err := ReadSimpleField[OptionalProperty](ctx, "valueBeforeChange", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueBeforeChange' field")) + } + m.ValueBeforeChange = valueBeforeChange + + valueSet, err := ReadSimpleField[OptionalProperty](ctx, "valueSet", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSet' field")) + } + m.ValueSet = valueSet + + loggingRecord, err := ReadSimpleField[OptionalProperty](ctx, "loggingRecord", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetAccumulatorRecord")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'loggingRecord' field")) + } + m.LoggingRecord = loggingRecord + + loggingObject, err := ReadSimpleField[OptionalProperty](ctx, "loggingObject", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'loggingObject' field")) + } + m.LoggingObject = loggingObject + + pulseRate, err := ReadSimpleField[OptionalProperty](ctx, "pulseRate", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'pulseRate' field")) + } + m.PulseRate = pulseRate + + highLimit, err := ReadSimpleField[OptionalProperty](ctx, "highLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'highLimit' field")) + } + m.HighLimit = highLimit + + lowLimit, err := ReadSimpleField[OptionalProperty](ctx, "lowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowLimit' field")) + } + m.LowLimit = lowLimit + + limitMonitoringInterval, err := ReadSimpleField[OptionalProperty](ctx, "limitMonitoringInterval", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'limitMonitoringInterval' field")) + } + m.LimitMonitoringInterval = limitMonitoringInterval + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + limitEnable, err := ReadSimpleField[OptionalProperty](ctx, "limitEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLimitEnable")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'limitEnable' field")) + } + m.LimitEnable = limitEnable + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + faultHighLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultHighLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultHighLimit' field")) + } + m.FaultHighLimit = faultHighLimit + + faultLowLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultLowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultLowLimit' field")) + } + m.FaultLowLimit = faultLowLimit + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Accumulator"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Accumulator") + } + + return m, nil +} + +func (m *_Accumulator) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Accumulator) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Accumulator"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Accumulator") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deviceType", m.GetDeviceType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "scale", m.GetScale(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'scale' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "units", m.GetUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'units' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "prescale", m.GetPrescale(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'prescale' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "maxPresValue", m.GetMaxPresValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueChangeTime", m.GetValueChangeTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueChangeTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueBeforeChange", m.GetValueBeforeChange(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueBeforeChange' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSet", m.GetValueSet(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSet' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "loggingRecord", m.GetLoggingRecord(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'loggingRecord' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "loggingObject", m.GetLoggingObject(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'loggingObject' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "pulseRate", m.GetPulseRate(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'pulseRate' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "highLimit", m.GetHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'highLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowLimit", m.GetLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "limitMonitoringInterval", m.GetLimitMonitoringInterval(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'limitMonitoringInterval' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "limitEnable", m.GetLimitEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'limitEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultHighLimit", m.GetFaultHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultHighLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultLowLimit", m.GetFaultLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultLowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Accumulator"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Accumulator") + } + return nil +} + +func (m *_Accumulator) IsAccumulator() {} + +func (m *_Accumulator) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Accumulator) deepCopy() *_Accumulator { + if m == nil { + return nil + } + _AccumulatorCopy := &_Accumulator{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.DeviceType.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.Scale.DeepCopy().(ReadableProperty), + m.Units.DeepCopy().(ReadableProperty), + m.Prescale.DeepCopy().(OptionalProperty), + m.MaxPresValue.DeepCopy().(ReadableProperty), + m.ValueChangeTime.DeepCopy().(OptionalProperty), + m.ValueBeforeChange.DeepCopy().(OptionalProperty), + m.ValueSet.DeepCopy().(OptionalProperty), + m.LoggingRecord.DeepCopy().(OptionalProperty), + m.LoggingObject.DeepCopy().(OptionalProperty), + m.PulseRate.DeepCopy().(OptionalProperty), + m.HighLimit.DeepCopy().(OptionalProperty), + m.LowLimit.DeepCopy().(OptionalProperty), + m.LimitMonitoringInterval.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.LimitEnable.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.FaultHighLimit.DeepCopy().(OptionalProperty), + m.FaultLowLimit.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AccumulatorCopy +} + +func (m *_Accumulator) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/AlertEnrollment.go b/plc4go/protocols/bacnetip/readwrite/model/AlertEnrollment.go new file mode 100644 index 00000000000..cd02e69c504 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AlertEnrollment.go @@ -0,0 +1,1288 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AlertEnrollment is the corresponding interface of AlertEnrollment +type AlertEnrollment interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() ReadableProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() ReadableProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() ReadableProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() ReadableProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() ReadableProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() ReadableProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAlertEnrollment is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAlertEnrollment() + // CreateBuilder creates a AlertEnrollmentBuilder + CreateAlertEnrollmentBuilder() AlertEnrollmentBuilder +} + +// _AlertEnrollment is the data-structure of this message +type _AlertEnrollment struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + EventState ReadableProperty + EventDetectionEnable ReadableProperty + NotificationClass ReadableProperty + EventEnable ReadableProperty + AckedTransitions ReadableProperty + NotifyType ReadableProperty + EventTimeStamps ReadableProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AlertEnrollment = (*_AlertEnrollment)(nil) + +// NewAlertEnrollment factory function for _AlertEnrollment +func NewAlertEnrollment(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, eventState ReadableProperty, eventDetectionEnable ReadableProperty, notificationClass ReadableProperty, eventEnable ReadableProperty, ackedTransitions ReadableProperty, notifyType ReadableProperty, eventTimeStamps ReadableProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AlertEnrollment { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AlertEnrollment must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AlertEnrollment must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AlertEnrollment must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AlertEnrollment must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for AlertEnrollment must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for AlertEnrollment must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type ReadableProperty for AlertEnrollment must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type ReadableProperty for AlertEnrollment must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type ReadableProperty for AlertEnrollment must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type ReadableProperty for AlertEnrollment must not be nil") + } + if notifyType == nil { + panic("notifyType of type ReadableProperty for AlertEnrollment must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type ReadableProperty for AlertEnrollment must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for AlertEnrollment must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for AlertEnrollment must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for AlertEnrollment must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for AlertEnrollment must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AlertEnrollment must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AlertEnrollment must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AlertEnrollment must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AlertEnrollment must not be nil") + } + return &_AlertEnrollment{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, EventState: eventState, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AlertEnrollmentBuilder is a builder for AlertEnrollment +type AlertEnrollmentBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, eventState ReadableProperty, eventDetectionEnable ReadableProperty, notificationClass ReadableProperty, eventEnable ReadableProperty, ackedTransitions ReadableProperty, notifyType ReadableProperty, eventTimeStamps ReadableProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AlertEnrollmentBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AlertEnrollmentBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AlertEnrollmentBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AlertEnrollmentBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AlertEnrollmentBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) AlertEnrollmentBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) AlertEnrollmentBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(ReadableProperty) AlertEnrollmentBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(ReadableProperty) AlertEnrollmentBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(ReadableProperty) AlertEnrollmentBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(ReadableProperty) AlertEnrollmentBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(ReadableProperty) AlertEnrollmentBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(ReadableProperty) AlertEnrollmentBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) AlertEnrollmentBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) AlertEnrollmentBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) AlertEnrollmentBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) AlertEnrollmentBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AlertEnrollmentBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AlertEnrollmentBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AlertEnrollmentBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AlertEnrollmentBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder + // Build builds the AlertEnrollment or returns an error if something is wrong + Build() (AlertEnrollment, error) + // MustBuild does the same as Build but panics on error + MustBuild() AlertEnrollment +} + +// NewAlertEnrollmentBuilder() creates a AlertEnrollmentBuilder +func NewAlertEnrollmentBuilder() AlertEnrollmentBuilder { + return &_AlertEnrollmentBuilder{_AlertEnrollment: new(_AlertEnrollment)} +} + +type _AlertEnrollmentBuilder struct { + *_AlertEnrollment + + err *utils.MultiError +} + +var _ (AlertEnrollmentBuilder) = (*_AlertEnrollmentBuilder)(nil) + +func (b *_AlertEnrollmentBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, eventState ReadableProperty, eventDetectionEnable ReadableProperty, notificationClass ReadableProperty, eventEnable ReadableProperty, ackedTransitions ReadableProperty, notifyType ReadableProperty, eventTimeStamps ReadableProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AlertEnrollmentBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithEventState(eventState).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AlertEnrollmentBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AlertEnrollmentBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AlertEnrollmentBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithObjectName(objectName ReadableProperty) AlertEnrollmentBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AlertEnrollmentBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithObjectType(objectType ReadableProperty) AlertEnrollmentBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AlertEnrollmentBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithDescription(description OptionalProperty) AlertEnrollmentBuilder { + b.Description = description + return b +} + +func (b *_AlertEnrollmentBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithPresentValue(presentValue ReadableProperty) AlertEnrollmentBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_AlertEnrollmentBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventState(eventState ReadableProperty) AlertEnrollmentBuilder { + b.EventState = eventState + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventDetectionEnable(eventDetectionEnable ReadableProperty) AlertEnrollmentBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventDetectionEnableBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateReadablePropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithNotificationClass(notificationClass ReadableProperty) AlertEnrollmentBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_AlertEnrollmentBuilder) WithNotificationClassBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.NotificationClass.CreateReadablePropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventEnable(eventEnable ReadableProperty) AlertEnrollmentBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventEnableBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.EventEnable.CreateReadablePropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithAckedTransitions(ackedTransitions ReadableProperty) AlertEnrollmentBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_AlertEnrollmentBuilder) WithAckedTransitionsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.AckedTransitions.CreateReadablePropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithNotifyType(notifyType ReadableProperty) AlertEnrollmentBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_AlertEnrollmentBuilder) WithNotifyTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.NotifyType.CreateReadablePropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventTimeStamps(eventTimeStamps ReadableProperty) AlertEnrollmentBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventTimeStampsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateReadablePropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) AlertEnrollmentBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) AlertEnrollmentBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) AlertEnrollmentBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) AlertEnrollmentBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_AlertEnrollmentBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithPropertyList(propertyList ReadableProperty) AlertEnrollmentBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AlertEnrollmentBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithTags(tags OptionalProperty) AlertEnrollmentBuilder { + b.Tags = tags + return b +} + +func (b *_AlertEnrollmentBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithProfileLocation(profileLocation OptionalProperty) AlertEnrollmentBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AlertEnrollmentBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) WithProfileName(profileName OptionalProperty) AlertEnrollmentBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AlertEnrollmentBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AlertEnrollmentBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AlertEnrollmentBuilder) Build() (AlertEnrollment, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AlertEnrollment.deepCopy(), nil +} + +func (b *_AlertEnrollmentBuilder) MustBuild() AlertEnrollment { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AlertEnrollmentBuilder) DeepCopy() any { + _copy := b.CreateAlertEnrollmentBuilder().(*_AlertEnrollmentBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAlertEnrollmentBuilder creates a AlertEnrollmentBuilder +func (b *_AlertEnrollment) CreateAlertEnrollmentBuilder() AlertEnrollmentBuilder { + if b == nil { + return NewAlertEnrollmentBuilder() + } + return &_AlertEnrollmentBuilder{_AlertEnrollment: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AlertEnrollment) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AlertEnrollment) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AlertEnrollment) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AlertEnrollment) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AlertEnrollment) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_AlertEnrollment) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_AlertEnrollment) GetEventDetectionEnable() ReadableProperty { + return m.EventDetectionEnable +} + +func (m *_AlertEnrollment) GetNotificationClass() ReadableProperty { + return m.NotificationClass +} + +func (m *_AlertEnrollment) GetEventEnable() ReadableProperty { + return m.EventEnable +} + +func (m *_AlertEnrollment) GetAckedTransitions() ReadableProperty { + return m.AckedTransitions +} + +func (m *_AlertEnrollment) GetNotifyType() ReadableProperty { + return m.NotifyType +} + +func (m *_AlertEnrollment) GetEventTimeStamps() ReadableProperty { + return m.EventTimeStamps +} + +func (m *_AlertEnrollment) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_AlertEnrollment) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_AlertEnrollment) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_AlertEnrollment) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_AlertEnrollment) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AlertEnrollment) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AlertEnrollment) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AlertEnrollment) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAlertEnrollment(structType any) AlertEnrollment { + if casted, ok := structType.(AlertEnrollment); ok { + return casted + } + if casted, ok := structType.(*AlertEnrollment); ok { + return *casted + } + return nil +} + +func (m *_AlertEnrollment) GetTypeName() string { + return "AlertEnrollment" +} + +func (m *_AlertEnrollment) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AlertEnrollment) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AlertEnrollmentParse(ctx context.Context, theBytes []byte) (AlertEnrollment, error) { + return AlertEnrollmentParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AlertEnrollmentParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AlertEnrollment, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AlertEnrollment, error) { + return AlertEnrollmentParseWithBuffer(ctx, readBuffer) + } +} + +func AlertEnrollmentParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AlertEnrollment, error) { + v, err := (&_AlertEnrollment{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AlertEnrollment) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__alertEnrollment AlertEnrollment, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AlertEnrollment"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AlertEnrollment") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + eventDetectionEnable, err := ReadSimpleField[ReadableProperty](ctx, "eventDetectionEnable", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[ReadableProperty](ctx, "notificationClass", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[ReadableProperty](ctx, "eventEnable", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[ReadableProperty](ctx, "ackedTransitions", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[ReadableProperty](ctx, "notifyType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[ReadableProperty](ctx, "eventTimeStamps", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AlertEnrollment"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AlertEnrollment") + } + + return m, nil +} + +func (m *_AlertEnrollment) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AlertEnrollment) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AlertEnrollment"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AlertEnrollment") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AlertEnrollment"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AlertEnrollment") + } + return nil +} + +func (m *_AlertEnrollment) IsAlertEnrollment() {} + +func (m *_AlertEnrollment) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AlertEnrollment) deepCopy() *_AlertEnrollment { + if m == nil { + return nil + } + _AlertEnrollmentCopy := &_AlertEnrollment{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(ReadableProperty), + m.NotificationClass.DeepCopy().(ReadableProperty), + m.EventEnable.DeepCopy().(ReadableProperty), + m.AckedTransitions.DeepCopy().(ReadableProperty), + m.NotifyType.DeepCopy().(ReadableProperty), + m.EventTimeStamps.DeepCopy().(ReadableProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AlertEnrollmentCopy +} + +func (m *_AlertEnrollment) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/AnalogInput.go b/plc4go/protocols/bacnetip/readwrite/model/AnalogInput.go new file mode 100644 index 00000000000..55001fc677c --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AnalogInput.go @@ -0,0 +1,2328 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AnalogInput is the corresponding interface of AnalogInput +type AnalogInput interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetDeviceType returns DeviceType (property field) + GetDeviceType() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetUpdateInterval returns UpdateInterval (property field) + GetUpdateInterval() OptionalProperty + // GetUnits returns Units (property field) + GetUnits() ReadableProperty + // GetMinPresValue returns MinPresValue (property field) + GetMinPresValue() OptionalProperty + // GetMaxPresValue returns MaxPresValue (property field) + GetMaxPresValue() OptionalProperty + // GetResolution returns Resolution (property field) + GetResolution() OptionalProperty + // GetCOVIncrement returns COVIncrement (property field) + GetCOVIncrement() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetHighLimit returns HighLimit (property field) + GetHighLimit() OptionalProperty + // GetLowLimit returns LowLimit (property field) + GetLowLimit() OptionalProperty + // GetDeadband returns Deadband (property field) + GetDeadband() OptionalProperty + // GetLimitEnable returns LimitEnable (property field) + GetLimitEnable() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetInterfaceValue returns InterfaceValue (property field) + GetInterfaceValue() OptionalProperty + // GetFaultHighLimit returns FaultHighLimit (property field) + GetFaultHighLimit() OptionalProperty + // GetFaultLowLimit returns FaultLowLimit (property field) + GetFaultLowLimit() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAnalogInput is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAnalogInput() + // CreateBuilder creates a AnalogInputBuilder + CreateAnalogInputBuilder() AnalogInputBuilder +} + +// _AnalogInput is the data-structure of this message +type _AnalogInput struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + DeviceType OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + UpdateInterval OptionalProperty + Units ReadableProperty + MinPresValue OptionalProperty + MaxPresValue OptionalProperty + Resolution OptionalProperty + COVIncrement OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + HighLimit OptionalProperty + LowLimit OptionalProperty + Deadband OptionalProperty + LimitEnable OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + InterfaceValue OptionalProperty + FaultHighLimit OptionalProperty + FaultLowLimit OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AnalogInput = (*_AnalogInput)(nil) + +// NewAnalogInput factory function for _AnalogInput +func NewAnalogInput(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, updateInterval OptionalProperty, units ReadableProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AnalogInput { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AnalogInput must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AnalogInput must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AnalogInput must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for AnalogInput must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AnalogInput must not be nil") + } + if deviceType == nil { + panic("deviceType of type OptionalProperty for AnalogInput must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for AnalogInput must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for AnalogInput must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for AnalogInput must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for AnalogInput must not be nil") + } + if updateInterval == nil { + panic("updateInterval of type OptionalProperty for AnalogInput must not be nil") + } + if units == nil { + panic("units of type ReadableProperty for AnalogInput must not be nil") + } + if minPresValue == nil { + panic("minPresValue of type OptionalProperty for AnalogInput must not be nil") + } + if maxPresValue == nil { + panic("maxPresValue of type OptionalProperty for AnalogInput must not be nil") + } + if resolution == nil { + panic("resolution of type OptionalProperty for AnalogInput must not be nil") + } + if cOVIncrement == nil { + panic("cOVIncrement of type OptionalProperty for AnalogInput must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for AnalogInput must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for AnalogInput must not be nil") + } + if highLimit == nil { + panic("highLimit of type OptionalProperty for AnalogInput must not be nil") + } + if lowLimit == nil { + panic("lowLimit of type OptionalProperty for AnalogInput must not be nil") + } + if deadband == nil { + panic("deadband of type OptionalProperty for AnalogInput must not be nil") + } + if limitEnable == nil { + panic("limitEnable of type OptionalProperty for AnalogInput must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for AnalogInput must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for AnalogInput must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for AnalogInput must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for AnalogInput must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for AnalogInput must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for AnalogInput must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for AnalogInput must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for AnalogInput must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for AnalogInput must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for AnalogInput must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for AnalogInput must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AnalogInput must not be nil") + } + if interfaceValue == nil { + panic("interfaceValue of type OptionalProperty for AnalogInput must not be nil") + } + if faultHighLimit == nil { + panic("faultHighLimit of type OptionalProperty for AnalogInput must not be nil") + } + if faultLowLimit == nil { + panic("faultLowLimit of type OptionalProperty for AnalogInput must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AnalogInput must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AnalogInput must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AnalogInput must not be nil") + } + return &_AnalogInput{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, DeviceType: deviceType, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, UpdateInterval: updateInterval, Units: units, MinPresValue: minPresValue, MaxPresValue: maxPresValue, Resolution: resolution, COVIncrement: cOVIncrement, TimeDelay: timeDelay, NotificationClass: notificationClass, HighLimit: highLimit, LowLimit: lowLimit, Deadband: deadband, LimitEnable: limitEnable, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, InterfaceValue: interfaceValue, FaultHighLimit: faultHighLimit, FaultLowLimit: faultLowLimit, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AnalogInputBuilder is a builder for AnalogInput +type AnalogInputBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, updateInterval OptionalProperty, units ReadableProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AnalogInputBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AnalogInputBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AnalogInputBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AnalogInputBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) AnalogInputBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AnalogInputBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithDeviceType adds DeviceType (property field) + WithDeviceType(OptionalProperty) AnalogInputBuilder + // WithDeviceTypeBuilder adds DeviceType (property field) which is build by the builder + WithDeviceTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AnalogInputBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) AnalogInputBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) AnalogInputBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) AnalogInputBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder + // WithUpdateInterval adds UpdateInterval (property field) + WithUpdateInterval(OptionalProperty) AnalogInputBuilder + // WithUpdateIntervalBuilder adds UpdateInterval (property field) which is build by the builder + WithUpdateIntervalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithUnits adds Units (property field) + WithUnits(ReadableProperty) AnalogInputBuilder + // WithUnitsBuilder adds Units (property field) which is build by the builder + WithUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder + // WithMinPresValue adds MinPresValue (property field) + WithMinPresValue(OptionalProperty) AnalogInputBuilder + // WithMinPresValueBuilder adds MinPresValue (property field) which is build by the builder + WithMinPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithMaxPresValue adds MaxPresValue (property field) + WithMaxPresValue(OptionalProperty) AnalogInputBuilder + // WithMaxPresValueBuilder adds MaxPresValue (property field) which is build by the builder + WithMaxPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithResolution adds Resolution (property field) + WithResolution(OptionalProperty) AnalogInputBuilder + // WithResolutionBuilder adds Resolution (property field) which is build by the builder + WithResolutionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithCOVIncrement adds COVIncrement (property field) + WithCOVIncrement(OptionalProperty) AnalogInputBuilder + // WithCOVIncrementBuilder adds COVIncrement (property field) which is build by the builder + WithCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) AnalogInputBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) AnalogInputBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithHighLimit adds HighLimit (property field) + WithHighLimit(OptionalProperty) AnalogInputBuilder + // WithHighLimitBuilder adds HighLimit (property field) which is build by the builder + WithHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithLowLimit adds LowLimit (property field) + WithLowLimit(OptionalProperty) AnalogInputBuilder + // WithLowLimitBuilder adds LowLimit (property field) which is build by the builder + WithLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithDeadband adds Deadband (property field) + WithDeadband(OptionalProperty) AnalogInputBuilder + // WithDeadbandBuilder adds Deadband (property field) which is build by the builder + WithDeadbandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithLimitEnable adds LimitEnable (property field) + WithLimitEnable(OptionalProperty) AnalogInputBuilder + // WithLimitEnableBuilder adds LimitEnable (property field) which is build by the builder + WithLimitEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) AnalogInputBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) AnalogInputBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) AnalogInputBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) AnalogInputBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) AnalogInputBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) AnalogInputBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) AnalogInputBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) AnalogInputBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) AnalogInputBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) AnalogInputBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AnalogInputBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AnalogInputBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder + // WithInterfaceValue adds InterfaceValue (property field) + WithInterfaceValue(OptionalProperty) AnalogInputBuilder + // WithInterfaceValueBuilder adds InterfaceValue (property field) which is build by the builder + WithInterfaceValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithFaultHighLimit adds FaultHighLimit (property field) + WithFaultHighLimit(OptionalProperty) AnalogInputBuilder + // WithFaultHighLimitBuilder adds FaultHighLimit (property field) which is build by the builder + WithFaultHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithFaultLowLimit adds FaultLowLimit (property field) + WithFaultLowLimit(OptionalProperty) AnalogInputBuilder + // WithFaultLowLimitBuilder adds FaultLowLimit (property field) which is build by the builder + WithFaultLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AnalogInputBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AnalogInputBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AnalogInputBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder + // Build builds the AnalogInput or returns an error if something is wrong + Build() (AnalogInput, error) + // MustBuild does the same as Build but panics on error + MustBuild() AnalogInput +} + +// NewAnalogInputBuilder() creates a AnalogInputBuilder +func NewAnalogInputBuilder() AnalogInputBuilder { + return &_AnalogInputBuilder{_AnalogInput: new(_AnalogInput)} +} + +type _AnalogInputBuilder struct { + *_AnalogInput + + err *utils.MultiError +} + +var _ (AnalogInputBuilder) = (*_AnalogInputBuilder)(nil) + +func (b *_AnalogInputBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, updateInterval OptionalProperty, units ReadableProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AnalogInputBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithDeviceType(deviceType).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithUpdateInterval(updateInterval).WithUnits(units).WithMinPresValue(minPresValue).WithMaxPresValue(maxPresValue).WithResolution(resolution).WithCOVIncrement(cOVIncrement).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithHighLimit(highLimit).WithLowLimit(lowLimit).WithDeadband(deadband).WithLimitEnable(limitEnable).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithInterfaceValue(interfaceValue).WithFaultHighLimit(faultHighLimit).WithFaultLowLimit(faultLowLimit).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AnalogInputBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AnalogInputBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AnalogInputBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithObjectName(objectName ReadableProperty) AnalogInputBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AnalogInputBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithObjectType(objectType ReadableProperty) AnalogInputBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AnalogInputBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithPresentValue(presentValue ReadableProperty) AnalogInputBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_AnalogInputBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithDescription(description OptionalProperty) AnalogInputBuilder { + b.Description = description + return b +} + +func (b *_AnalogInputBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithDeviceType(deviceType OptionalProperty) AnalogInputBuilder { + b.DeviceType = deviceType + return b +} + +func (b *_AnalogInputBuilder) WithDeviceTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.DeviceType.CreateOptionalPropertyBuilder()) + var err error + b.DeviceType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithStatusFlags(statusFlags ReadableProperty) AnalogInputBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AnalogInputBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithEventState(eventState ReadableProperty) AnalogInputBuilder { + b.EventState = eventState + return b +} + +func (b *_AnalogInputBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithReliability(reliability OptionalProperty) AnalogInputBuilder { + b.Reliability = reliability + return b +} + +func (b *_AnalogInputBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithOutOfService(outOfService ReadableProperty) AnalogInputBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_AnalogInputBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithUpdateInterval(updateInterval OptionalProperty) AnalogInputBuilder { + b.UpdateInterval = updateInterval + return b +} + +func (b *_AnalogInputBuilder) WithUpdateIntervalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.UpdateInterval.CreateOptionalPropertyBuilder()) + var err error + b.UpdateInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithUnits(units ReadableProperty) AnalogInputBuilder { + b.Units = units + return b +} + +func (b *_AnalogInputBuilder) WithUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.Units.CreateReadablePropertyBuilder()) + var err error + b.Units, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithMinPresValue(minPresValue OptionalProperty) AnalogInputBuilder { + b.MinPresValue = minPresValue + return b +} + +func (b *_AnalogInputBuilder) WithMinPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.MinPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MinPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithMaxPresValue(maxPresValue OptionalProperty) AnalogInputBuilder { + b.MaxPresValue = maxPresValue + return b +} + +func (b *_AnalogInputBuilder) WithMaxPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.MaxPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MaxPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithResolution(resolution OptionalProperty) AnalogInputBuilder { + b.Resolution = resolution + return b +} + +func (b *_AnalogInputBuilder) WithResolutionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.Resolution.CreateOptionalPropertyBuilder()) + var err error + b.Resolution, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithCOVIncrement(cOVIncrement OptionalProperty) AnalogInputBuilder { + b.COVIncrement = cOVIncrement + return b +} + +func (b *_AnalogInputBuilder) WithCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.COVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.COVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithTimeDelay(timeDelay OptionalProperty) AnalogInputBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_AnalogInputBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithNotificationClass(notificationClass OptionalProperty) AnalogInputBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_AnalogInputBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithHighLimit(highLimit OptionalProperty) AnalogInputBuilder { + b.HighLimit = highLimit + return b +} + +func (b *_AnalogInputBuilder) WithHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.HighLimit.CreateOptionalPropertyBuilder()) + var err error + b.HighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithLowLimit(lowLimit OptionalProperty) AnalogInputBuilder { + b.LowLimit = lowLimit + return b +} + +func (b *_AnalogInputBuilder) WithLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.LowLimit.CreateOptionalPropertyBuilder()) + var err error + b.LowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithDeadband(deadband OptionalProperty) AnalogInputBuilder { + b.Deadband = deadband + return b +} + +func (b *_AnalogInputBuilder) WithDeadbandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.Deadband.CreateOptionalPropertyBuilder()) + var err error + b.Deadband, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithLimitEnable(limitEnable OptionalProperty) AnalogInputBuilder { + b.LimitEnable = limitEnable + return b +} + +func (b *_AnalogInputBuilder) WithLimitEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.LimitEnable.CreateOptionalPropertyBuilder()) + var err error + b.LimitEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithEventEnable(eventEnable OptionalProperty) AnalogInputBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_AnalogInputBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) AnalogInputBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_AnalogInputBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithNotifyType(notifyType OptionalProperty) AnalogInputBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_AnalogInputBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) AnalogInputBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_AnalogInputBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) AnalogInputBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_AnalogInputBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) AnalogInputBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_AnalogInputBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) AnalogInputBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_AnalogInputBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) AnalogInputBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_AnalogInputBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) AnalogInputBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_AnalogInputBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) AnalogInputBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_AnalogInputBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AnalogInputBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AnalogInputBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithPropertyList(propertyList ReadableProperty) AnalogInputBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AnalogInputBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithInterfaceValue(interfaceValue OptionalProperty) AnalogInputBuilder { + b.InterfaceValue = interfaceValue + return b +} + +func (b *_AnalogInputBuilder) WithInterfaceValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.InterfaceValue.CreateOptionalPropertyBuilder()) + var err error + b.InterfaceValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithFaultHighLimit(faultHighLimit OptionalProperty) AnalogInputBuilder { + b.FaultHighLimit = faultHighLimit + return b +} + +func (b *_AnalogInputBuilder) WithFaultHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.FaultHighLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultHighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithFaultLowLimit(faultLowLimit OptionalProperty) AnalogInputBuilder { + b.FaultLowLimit = faultLowLimit + return b +} + +func (b *_AnalogInputBuilder) WithFaultLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.FaultLowLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultLowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithTags(tags OptionalProperty) AnalogInputBuilder { + b.Tags = tags + return b +} + +func (b *_AnalogInputBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithProfileLocation(profileLocation OptionalProperty) AnalogInputBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AnalogInputBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) WithProfileName(profileName OptionalProperty) AnalogInputBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AnalogInputBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogInputBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogInputBuilder) Build() (AnalogInput, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.DeviceType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceType' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.UpdateInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'updateInterval' not set")) + } + if b.Units == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'units' not set")) + } + if b.MinPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minPresValue' not set")) + } + if b.MaxPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxPresValue' not set")) + } + if b.Resolution == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'resolution' not set")) + } + if b.COVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVIncrement' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.HighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'highLimit' not set")) + } + if b.LowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowLimit' not set")) + } + if b.Deadband == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deadband' not set")) + } + if b.LimitEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'limitEnable' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.InterfaceValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'interfaceValue' not set")) + } + if b.FaultHighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultHighLimit' not set")) + } + if b.FaultLowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultLowLimit' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AnalogInput.deepCopy(), nil +} + +func (b *_AnalogInputBuilder) MustBuild() AnalogInput { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AnalogInputBuilder) DeepCopy() any { + _copy := b.CreateAnalogInputBuilder().(*_AnalogInputBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAnalogInputBuilder creates a AnalogInputBuilder +func (b *_AnalogInput) CreateAnalogInputBuilder() AnalogInputBuilder { + if b == nil { + return NewAnalogInputBuilder() + } + return &_AnalogInputBuilder{_AnalogInput: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AnalogInput) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AnalogInput) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AnalogInput) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AnalogInput) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_AnalogInput) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AnalogInput) GetDeviceType() OptionalProperty { + return m.DeviceType +} + +func (m *_AnalogInput) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_AnalogInput) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_AnalogInput) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_AnalogInput) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_AnalogInput) GetUpdateInterval() OptionalProperty { + return m.UpdateInterval +} + +func (m *_AnalogInput) GetUnits() ReadableProperty { + return m.Units +} + +func (m *_AnalogInput) GetMinPresValue() OptionalProperty { + return m.MinPresValue +} + +func (m *_AnalogInput) GetMaxPresValue() OptionalProperty { + return m.MaxPresValue +} + +func (m *_AnalogInput) GetResolution() OptionalProperty { + return m.Resolution +} + +func (m *_AnalogInput) GetCOVIncrement() OptionalProperty { + return m.COVIncrement +} + +func (m *_AnalogInput) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_AnalogInput) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_AnalogInput) GetHighLimit() OptionalProperty { + return m.HighLimit +} + +func (m *_AnalogInput) GetLowLimit() OptionalProperty { + return m.LowLimit +} + +func (m *_AnalogInput) GetDeadband() OptionalProperty { + return m.Deadband +} + +func (m *_AnalogInput) GetLimitEnable() OptionalProperty { + return m.LimitEnable +} + +func (m *_AnalogInput) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_AnalogInput) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_AnalogInput) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_AnalogInput) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_AnalogInput) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_AnalogInput) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_AnalogInput) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_AnalogInput) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_AnalogInput) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_AnalogInput) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_AnalogInput) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_AnalogInput) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AnalogInput) GetInterfaceValue() OptionalProperty { + return m.InterfaceValue +} + +func (m *_AnalogInput) GetFaultHighLimit() OptionalProperty { + return m.FaultHighLimit +} + +func (m *_AnalogInput) GetFaultLowLimit() OptionalProperty { + return m.FaultLowLimit +} + +func (m *_AnalogInput) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AnalogInput) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AnalogInput) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAnalogInput(structType any) AnalogInput { + if casted, ok := structType.(AnalogInput); ok { + return casted + } + if casted, ok := structType.(*AnalogInput); ok { + return *casted + } + return nil +} + +func (m *_AnalogInput) GetTypeName() string { + return "AnalogInput" +} + +func (m *_AnalogInput) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (deviceType) + lengthInBits += m.DeviceType.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (updateInterval) + lengthInBits += m.UpdateInterval.GetLengthInBits(ctx) + + // Simple field (units) + lengthInBits += m.Units.GetLengthInBits(ctx) + + // Simple field (minPresValue) + lengthInBits += m.MinPresValue.GetLengthInBits(ctx) + + // Simple field (maxPresValue) + lengthInBits += m.MaxPresValue.GetLengthInBits(ctx) + + // Simple field (resolution) + lengthInBits += m.Resolution.GetLengthInBits(ctx) + + // Simple field (cOVIncrement) + lengthInBits += m.COVIncrement.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (highLimit) + lengthInBits += m.HighLimit.GetLengthInBits(ctx) + + // Simple field (lowLimit) + lengthInBits += m.LowLimit.GetLengthInBits(ctx) + + // Simple field (deadband) + lengthInBits += m.Deadband.GetLengthInBits(ctx) + + // Simple field (limitEnable) + lengthInBits += m.LimitEnable.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (interfaceValue) + lengthInBits += m.InterfaceValue.GetLengthInBits(ctx) + + // Simple field (faultHighLimit) + lengthInBits += m.FaultHighLimit.GetLengthInBits(ctx) + + // Simple field (faultLowLimit) + lengthInBits += m.FaultLowLimit.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AnalogInput) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AnalogInputParse(ctx context.Context, theBytes []byte) (AnalogInput, error) { + return AnalogInputParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AnalogInputParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AnalogInput, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AnalogInput, error) { + return AnalogInputParseWithBuffer(ctx, readBuffer) + } +} + +func AnalogInputParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AnalogInput, error) { + v, err := (&_AnalogInput{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AnalogInput) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__analogInput AnalogInput, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AnalogInput"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AnalogInput") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + deviceType, err := ReadSimpleField[OptionalProperty](ctx, "deviceType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceType' field")) + } + m.DeviceType = deviceType + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + updateInterval, err := ReadSimpleField[OptionalProperty](ctx, "updateInterval", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'updateInterval' field")) + } + m.UpdateInterval = updateInterval + + units, err := ReadSimpleField[ReadableProperty](ctx, "units", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'units' field")) + } + m.Units = units + + minPresValue, err := ReadSimpleField[OptionalProperty](ctx, "minPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minPresValue' field")) + } + m.MinPresValue = minPresValue + + maxPresValue, err := ReadSimpleField[OptionalProperty](ctx, "maxPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxPresValue' field")) + } + m.MaxPresValue = maxPresValue + + resolution, err := ReadSimpleField[OptionalProperty](ctx, "resolution", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'resolution' field")) + } + m.Resolution = resolution + + cOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "cOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVIncrement' field")) + } + m.COVIncrement = cOVIncrement + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + highLimit, err := ReadSimpleField[OptionalProperty](ctx, "highLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'highLimit' field")) + } + m.HighLimit = highLimit + + lowLimit, err := ReadSimpleField[OptionalProperty](ctx, "lowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowLimit' field")) + } + m.LowLimit = lowLimit + + deadband, err := ReadSimpleField[OptionalProperty](ctx, "deadband", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deadband' field")) + } + m.Deadband = deadband + + limitEnable, err := ReadSimpleField[OptionalProperty](ctx, "limitEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLimitEnable")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'limitEnable' field")) + } + m.LimitEnable = limitEnable + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + interfaceValue, err := ReadSimpleField[OptionalProperty](ctx, "interfaceValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalREAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'interfaceValue' field")) + } + m.InterfaceValue = interfaceValue + + faultHighLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultHighLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultHighLimit' field")) + } + m.FaultHighLimit = faultHighLimit + + faultLowLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultLowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultLowLimit' field")) + } + m.FaultLowLimit = faultLowLimit + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AnalogInput"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AnalogInput") + } + + return m, nil +} + +func (m *_AnalogInput) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AnalogInput) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AnalogInput"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AnalogInput") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deviceType", m.GetDeviceType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "updateInterval", m.GetUpdateInterval(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'updateInterval' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "units", m.GetUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'units' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minPresValue", m.GetMinPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxPresValue", m.GetMaxPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "resolution", m.GetResolution(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'resolution' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVIncrement", m.GetCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "highLimit", m.GetHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'highLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowLimit", m.GetLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deadband", m.GetDeadband(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deadband' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "limitEnable", m.GetLimitEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'limitEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "interfaceValue", m.GetInterfaceValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'interfaceValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultHighLimit", m.GetFaultHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultHighLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultLowLimit", m.GetFaultLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultLowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AnalogInput"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AnalogInput") + } + return nil +} + +func (m *_AnalogInput) IsAnalogInput() {} + +func (m *_AnalogInput) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AnalogInput) deepCopy() *_AnalogInput { + if m == nil { + return nil + } + _AnalogInputCopy := &_AnalogInput{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.DeviceType.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.UpdateInterval.DeepCopy().(OptionalProperty), + m.Units.DeepCopy().(ReadableProperty), + m.MinPresValue.DeepCopy().(OptionalProperty), + m.MaxPresValue.DeepCopy().(OptionalProperty), + m.Resolution.DeepCopy().(OptionalProperty), + m.COVIncrement.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.HighLimit.DeepCopy().(OptionalProperty), + m.LowLimit.DeepCopy().(OptionalProperty), + m.Deadband.DeepCopy().(OptionalProperty), + m.LimitEnable.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.InterfaceValue.DeepCopy().(OptionalProperty), + m.FaultHighLimit.DeepCopy().(OptionalProperty), + m.FaultLowLimit.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AnalogInputCopy +} + +func (m *_AnalogInput) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/AnalogOutput.go b/plc4go/protocols/bacnetip/readwrite/model/AnalogOutput.go new file mode 100644 index 00000000000..35ca6e49ecb --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AnalogOutput.go @@ -0,0 +1,2536 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AnalogOutput is the corresponding interface of AnalogOutput +type AnalogOutput interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() WritableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetDeviceType returns DeviceType (property field) + GetDeviceType() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetUnits returns Units (property field) + GetUnits() ReadableProperty + // GetMinPresValue returns MinPresValue (property field) + GetMinPresValue() OptionalProperty + // GetMaxPresValue returns MaxPresValue (property field) + GetMaxPresValue() OptionalProperty + // GetResolution returns Resolution (property field) + GetResolution() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() ReadableProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() ReadableProperty + // GetCOVIncrement returns COVIncrement (property field) + GetCOVIncrement() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetHighLimit returns HighLimit (property field) + GetHighLimit() OptionalProperty + // GetLowLimit returns LowLimit (property field) + GetLowLimit() OptionalProperty + // GetDeadband returns Deadband (property field) + GetDeadband() OptionalProperty + // GetLimitEnable returns LimitEnable (property field) + GetLimitEnable() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetInterfaceValue returns InterfaceValue (property field) + GetInterfaceValue() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAnalogOutput is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAnalogOutput() + // CreateBuilder creates a AnalogOutputBuilder + CreateAnalogOutputBuilder() AnalogOutputBuilder +} + +// _AnalogOutput is the data-structure of this message +type _AnalogOutput struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue WritableProperty + Description OptionalProperty + DeviceType OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + Units ReadableProperty + MinPresValue OptionalProperty + MaxPresValue OptionalProperty + Resolution OptionalProperty + PriorityArray ReadableProperty + RelinquishDefault ReadableProperty + COVIncrement OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + HighLimit OptionalProperty + LowLimit OptionalProperty + Deadband OptionalProperty + LimitEnable OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + InterfaceValue OptionalProperty + CurrentCommandPriority ReadableProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AnalogOutput = (*_AnalogOutput)(nil) + +// NewAnalogOutput factory function for _AnalogOutput +func NewAnalogOutput(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, units ReadableProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AnalogOutput { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AnalogOutput must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AnalogOutput must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AnalogOutput must not be nil") + } + if presentValue == nil { + panic("presentValue of type WritableProperty for AnalogOutput must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AnalogOutput must not be nil") + } + if deviceType == nil { + panic("deviceType of type OptionalProperty for AnalogOutput must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for AnalogOutput must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for AnalogOutput must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for AnalogOutput must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for AnalogOutput must not be nil") + } + if units == nil { + panic("units of type ReadableProperty for AnalogOutput must not be nil") + } + if minPresValue == nil { + panic("minPresValue of type OptionalProperty for AnalogOutput must not be nil") + } + if maxPresValue == nil { + panic("maxPresValue of type OptionalProperty for AnalogOutput must not be nil") + } + if resolution == nil { + panic("resolution of type OptionalProperty for AnalogOutput must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type ReadableProperty for AnalogOutput must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type ReadableProperty for AnalogOutput must not be nil") + } + if cOVIncrement == nil { + panic("cOVIncrement of type OptionalProperty for AnalogOutput must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for AnalogOutput must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for AnalogOutput must not be nil") + } + if highLimit == nil { + panic("highLimit of type OptionalProperty for AnalogOutput must not be nil") + } + if lowLimit == nil { + panic("lowLimit of type OptionalProperty for AnalogOutput must not be nil") + } + if deadband == nil { + panic("deadband of type OptionalProperty for AnalogOutput must not be nil") + } + if limitEnable == nil { + panic("limitEnable of type OptionalProperty for AnalogOutput must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for AnalogOutput must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for AnalogOutput must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for AnalogOutput must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for AnalogOutput must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for AnalogOutput must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for AnalogOutput must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for AnalogOutput must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for AnalogOutput must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for AnalogOutput must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for AnalogOutput must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for AnalogOutput must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AnalogOutput must not be nil") + } + if interfaceValue == nil { + panic("interfaceValue of type OptionalProperty for AnalogOutput must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type ReadableProperty for AnalogOutput must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for AnalogOutput must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for AnalogOutput must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for AnalogOutput must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for AnalogOutput must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AnalogOutput must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AnalogOutput must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AnalogOutput must not be nil") + } + return &_AnalogOutput{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, DeviceType: deviceType, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Units: units, MinPresValue: minPresValue, MaxPresValue: maxPresValue, Resolution: resolution, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, COVIncrement: cOVIncrement, TimeDelay: timeDelay, NotificationClass: notificationClass, HighLimit: highLimit, LowLimit: lowLimit, Deadband: deadband, LimitEnable: limitEnable, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, InterfaceValue: interfaceValue, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AnalogOutputBuilder is a builder for AnalogOutput +type AnalogOutputBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, units ReadableProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AnalogOutputBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AnalogOutputBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AnalogOutputBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AnalogOutputBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(WritableProperty) AnalogOutputBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) AnalogOutputBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AnalogOutputBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithDeviceType adds DeviceType (property field) + WithDeviceType(OptionalProperty) AnalogOutputBuilder + // WithDeviceTypeBuilder adds DeviceType (property field) which is build by the builder + WithDeviceTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AnalogOutputBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) AnalogOutputBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) AnalogOutputBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) AnalogOutputBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithUnits adds Units (property field) + WithUnits(ReadableProperty) AnalogOutputBuilder + // WithUnitsBuilder adds Units (property field) which is build by the builder + WithUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithMinPresValue adds MinPresValue (property field) + WithMinPresValue(OptionalProperty) AnalogOutputBuilder + // WithMinPresValueBuilder adds MinPresValue (property field) which is build by the builder + WithMinPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithMaxPresValue adds MaxPresValue (property field) + WithMaxPresValue(OptionalProperty) AnalogOutputBuilder + // WithMaxPresValueBuilder adds MaxPresValue (property field) which is build by the builder + WithMaxPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithResolution adds Resolution (property field) + WithResolution(OptionalProperty) AnalogOutputBuilder + // WithResolutionBuilder adds Resolution (property field) which is build by the builder + WithResolutionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(ReadableProperty) AnalogOutputBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(ReadableProperty) AnalogOutputBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithCOVIncrement adds COVIncrement (property field) + WithCOVIncrement(OptionalProperty) AnalogOutputBuilder + // WithCOVIncrementBuilder adds COVIncrement (property field) which is build by the builder + WithCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) AnalogOutputBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) AnalogOutputBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithHighLimit adds HighLimit (property field) + WithHighLimit(OptionalProperty) AnalogOutputBuilder + // WithHighLimitBuilder adds HighLimit (property field) which is build by the builder + WithHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithLowLimit adds LowLimit (property field) + WithLowLimit(OptionalProperty) AnalogOutputBuilder + // WithLowLimitBuilder adds LowLimit (property field) which is build by the builder + WithLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithDeadband adds Deadband (property field) + WithDeadband(OptionalProperty) AnalogOutputBuilder + // WithDeadbandBuilder adds Deadband (property field) which is build by the builder + WithDeadbandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithLimitEnable adds LimitEnable (property field) + WithLimitEnable(OptionalProperty) AnalogOutputBuilder + // WithLimitEnableBuilder adds LimitEnable (property field) which is build by the builder + WithLimitEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) AnalogOutputBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) AnalogOutputBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) AnalogOutputBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) AnalogOutputBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) AnalogOutputBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) AnalogOutputBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) AnalogOutputBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) AnalogOutputBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) AnalogOutputBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) AnalogOutputBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AnalogOutputBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AnalogOutputBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithInterfaceValue adds InterfaceValue (property field) + WithInterfaceValue(OptionalProperty) AnalogOutputBuilder + // WithInterfaceValueBuilder adds InterfaceValue (property field) which is build by the builder + WithInterfaceValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(ReadableProperty) AnalogOutputBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) AnalogOutputBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) AnalogOutputBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) AnalogOutputBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) AnalogOutputBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AnalogOutputBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AnalogOutputBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AnalogOutputBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder + // Build builds the AnalogOutput or returns an error if something is wrong + Build() (AnalogOutput, error) + // MustBuild does the same as Build but panics on error + MustBuild() AnalogOutput +} + +// NewAnalogOutputBuilder() creates a AnalogOutputBuilder +func NewAnalogOutputBuilder() AnalogOutputBuilder { + return &_AnalogOutputBuilder{_AnalogOutput: new(_AnalogOutput)} +} + +type _AnalogOutputBuilder struct { + *_AnalogOutput + + err *utils.MultiError +} + +var _ (AnalogOutputBuilder) = (*_AnalogOutputBuilder)(nil) + +func (b *_AnalogOutputBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, units ReadableProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AnalogOutputBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithDeviceType(deviceType).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithUnits(units).WithMinPresValue(minPresValue).WithMaxPresValue(maxPresValue).WithResolution(resolution).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithCOVIncrement(cOVIncrement).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithHighLimit(highLimit).WithLowLimit(lowLimit).WithDeadband(deadband).WithLimitEnable(limitEnable).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithInterfaceValue(interfaceValue).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AnalogOutputBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AnalogOutputBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AnalogOutputBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithObjectName(objectName ReadableProperty) AnalogOutputBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AnalogOutputBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithObjectType(objectType ReadableProperty) AnalogOutputBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AnalogOutputBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithPresentValue(presentValue WritableProperty) AnalogOutputBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_AnalogOutputBuilder) WithPresentValueBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.PresentValue.CreateWritablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithDescription(description OptionalProperty) AnalogOutputBuilder { + b.Description = description + return b +} + +func (b *_AnalogOutputBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithDeviceType(deviceType OptionalProperty) AnalogOutputBuilder { + b.DeviceType = deviceType + return b +} + +func (b *_AnalogOutputBuilder) WithDeviceTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.DeviceType.CreateOptionalPropertyBuilder()) + var err error + b.DeviceType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithStatusFlags(statusFlags ReadableProperty) AnalogOutputBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AnalogOutputBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithEventState(eventState ReadableProperty) AnalogOutputBuilder { + b.EventState = eventState + return b +} + +func (b *_AnalogOutputBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithReliability(reliability OptionalProperty) AnalogOutputBuilder { + b.Reliability = reliability + return b +} + +func (b *_AnalogOutputBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithOutOfService(outOfService ReadableProperty) AnalogOutputBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_AnalogOutputBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithUnits(units ReadableProperty) AnalogOutputBuilder { + b.Units = units + return b +} + +func (b *_AnalogOutputBuilder) WithUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.Units.CreateReadablePropertyBuilder()) + var err error + b.Units, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithMinPresValue(minPresValue OptionalProperty) AnalogOutputBuilder { + b.MinPresValue = minPresValue + return b +} + +func (b *_AnalogOutputBuilder) WithMinPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.MinPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MinPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithMaxPresValue(maxPresValue OptionalProperty) AnalogOutputBuilder { + b.MaxPresValue = maxPresValue + return b +} + +func (b *_AnalogOutputBuilder) WithMaxPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.MaxPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MaxPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithResolution(resolution OptionalProperty) AnalogOutputBuilder { + b.Resolution = resolution + return b +} + +func (b *_AnalogOutputBuilder) WithResolutionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.Resolution.CreateOptionalPropertyBuilder()) + var err error + b.Resolution, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithPriorityArray(priorityArray ReadableProperty) AnalogOutputBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_AnalogOutputBuilder) WithPriorityArrayBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.PriorityArray.CreateReadablePropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithRelinquishDefault(relinquishDefault ReadableProperty) AnalogOutputBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_AnalogOutputBuilder) WithRelinquishDefaultBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateReadablePropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithCOVIncrement(cOVIncrement OptionalProperty) AnalogOutputBuilder { + b.COVIncrement = cOVIncrement + return b +} + +func (b *_AnalogOutputBuilder) WithCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.COVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.COVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithTimeDelay(timeDelay OptionalProperty) AnalogOutputBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_AnalogOutputBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithNotificationClass(notificationClass OptionalProperty) AnalogOutputBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_AnalogOutputBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithHighLimit(highLimit OptionalProperty) AnalogOutputBuilder { + b.HighLimit = highLimit + return b +} + +func (b *_AnalogOutputBuilder) WithHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.HighLimit.CreateOptionalPropertyBuilder()) + var err error + b.HighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithLowLimit(lowLimit OptionalProperty) AnalogOutputBuilder { + b.LowLimit = lowLimit + return b +} + +func (b *_AnalogOutputBuilder) WithLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.LowLimit.CreateOptionalPropertyBuilder()) + var err error + b.LowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithDeadband(deadband OptionalProperty) AnalogOutputBuilder { + b.Deadband = deadband + return b +} + +func (b *_AnalogOutputBuilder) WithDeadbandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.Deadband.CreateOptionalPropertyBuilder()) + var err error + b.Deadband, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithLimitEnable(limitEnable OptionalProperty) AnalogOutputBuilder { + b.LimitEnable = limitEnable + return b +} + +func (b *_AnalogOutputBuilder) WithLimitEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.LimitEnable.CreateOptionalPropertyBuilder()) + var err error + b.LimitEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithEventEnable(eventEnable OptionalProperty) AnalogOutputBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_AnalogOutputBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) AnalogOutputBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_AnalogOutputBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithNotifyType(notifyType OptionalProperty) AnalogOutputBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_AnalogOutputBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) AnalogOutputBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_AnalogOutputBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) AnalogOutputBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_AnalogOutputBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) AnalogOutputBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_AnalogOutputBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) AnalogOutputBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_AnalogOutputBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) AnalogOutputBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_AnalogOutputBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) AnalogOutputBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_AnalogOutputBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) AnalogOutputBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_AnalogOutputBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AnalogOutputBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AnalogOutputBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithPropertyList(propertyList ReadableProperty) AnalogOutputBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AnalogOutputBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithInterfaceValue(interfaceValue OptionalProperty) AnalogOutputBuilder { + b.InterfaceValue = interfaceValue + return b +} + +func (b *_AnalogOutputBuilder) WithInterfaceValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.InterfaceValue.CreateOptionalPropertyBuilder()) + var err error + b.InterfaceValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithCurrentCommandPriority(currentCommandPriority ReadableProperty) AnalogOutputBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_AnalogOutputBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateReadablePropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithValueSource(valueSource OptionalProperty) AnalogOutputBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_AnalogOutputBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) AnalogOutputBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_AnalogOutputBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) AnalogOutputBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_AnalogOutputBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) AnalogOutputBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_AnalogOutputBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithTags(tags OptionalProperty) AnalogOutputBuilder { + b.Tags = tags + return b +} + +func (b *_AnalogOutputBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithProfileLocation(profileLocation OptionalProperty) AnalogOutputBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AnalogOutputBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) WithProfileName(profileName OptionalProperty) AnalogOutputBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AnalogOutputBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogOutputBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogOutputBuilder) Build() (AnalogOutput, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.DeviceType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceType' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Units == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'units' not set")) + } + if b.MinPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minPresValue' not set")) + } + if b.MaxPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxPresValue' not set")) + } + if b.Resolution == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'resolution' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.COVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVIncrement' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.HighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'highLimit' not set")) + } + if b.LowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowLimit' not set")) + } + if b.Deadband == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deadband' not set")) + } + if b.LimitEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'limitEnable' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.InterfaceValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'interfaceValue' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AnalogOutput.deepCopy(), nil +} + +func (b *_AnalogOutputBuilder) MustBuild() AnalogOutput { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AnalogOutputBuilder) DeepCopy() any { + _copy := b.CreateAnalogOutputBuilder().(*_AnalogOutputBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAnalogOutputBuilder creates a AnalogOutputBuilder +func (b *_AnalogOutput) CreateAnalogOutputBuilder() AnalogOutputBuilder { + if b == nil { + return NewAnalogOutputBuilder() + } + return &_AnalogOutputBuilder{_AnalogOutput: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AnalogOutput) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AnalogOutput) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AnalogOutput) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AnalogOutput) GetPresentValue() WritableProperty { + return m.PresentValue +} + +func (m *_AnalogOutput) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AnalogOutput) GetDeviceType() OptionalProperty { + return m.DeviceType +} + +func (m *_AnalogOutput) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_AnalogOutput) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_AnalogOutput) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_AnalogOutput) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_AnalogOutput) GetUnits() ReadableProperty { + return m.Units +} + +func (m *_AnalogOutput) GetMinPresValue() OptionalProperty { + return m.MinPresValue +} + +func (m *_AnalogOutput) GetMaxPresValue() OptionalProperty { + return m.MaxPresValue +} + +func (m *_AnalogOutput) GetResolution() OptionalProperty { + return m.Resolution +} + +func (m *_AnalogOutput) GetPriorityArray() ReadableProperty { + return m.PriorityArray +} + +func (m *_AnalogOutput) GetRelinquishDefault() ReadableProperty { + return m.RelinquishDefault +} + +func (m *_AnalogOutput) GetCOVIncrement() OptionalProperty { + return m.COVIncrement +} + +func (m *_AnalogOutput) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_AnalogOutput) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_AnalogOutput) GetHighLimit() OptionalProperty { + return m.HighLimit +} + +func (m *_AnalogOutput) GetLowLimit() OptionalProperty { + return m.LowLimit +} + +func (m *_AnalogOutput) GetDeadband() OptionalProperty { + return m.Deadband +} + +func (m *_AnalogOutput) GetLimitEnable() OptionalProperty { + return m.LimitEnable +} + +func (m *_AnalogOutput) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_AnalogOutput) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_AnalogOutput) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_AnalogOutput) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_AnalogOutput) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_AnalogOutput) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_AnalogOutput) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_AnalogOutput) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_AnalogOutput) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_AnalogOutput) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_AnalogOutput) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_AnalogOutput) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AnalogOutput) GetInterfaceValue() OptionalProperty { + return m.InterfaceValue +} + +func (m *_AnalogOutput) GetCurrentCommandPriority() ReadableProperty { + return m.CurrentCommandPriority +} + +func (m *_AnalogOutput) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_AnalogOutput) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_AnalogOutput) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_AnalogOutput) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_AnalogOutput) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AnalogOutput) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AnalogOutput) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAnalogOutput(structType any) AnalogOutput { + if casted, ok := structType.(AnalogOutput); ok { + return casted + } + if casted, ok := structType.(*AnalogOutput); ok { + return *casted + } + return nil +} + +func (m *_AnalogOutput) GetTypeName() string { + return "AnalogOutput" +} + +func (m *_AnalogOutput) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (deviceType) + lengthInBits += m.DeviceType.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (units) + lengthInBits += m.Units.GetLengthInBits(ctx) + + // Simple field (minPresValue) + lengthInBits += m.MinPresValue.GetLengthInBits(ctx) + + // Simple field (maxPresValue) + lengthInBits += m.MaxPresValue.GetLengthInBits(ctx) + + // Simple field (resolution) + lengthInBits += m.Resolution.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (cOVIncrement) + lengthInBits += m.COVIncrement.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (highLimit) + lengthInBits += m.HighLimit.GetLengthInBits(ctx) + + // Simple field (lowLimit) + lengthInBits += m.LowLimit.GetLengthInBits(ctx) + + // Simple field (deadband) + lengthInBits += m.Deadband.GetLengthInBits(ctx) + + // Simple field (limitEnable) + lengthInBits += m.LimitEnable.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (interfaceValue) + lengthInBits += m.InterfaceValue.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AnalogOutput) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AnalogOutputParse(ctx context.Context, theBytes []byte) (AnalogOutput, error) { + return AnalogOutputParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AnalogOutputParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AnalogOutput, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AnalogOutput, error) { + return AnalogOutputParseWithBuffer(ctx, readBuffer) + } +} + +func AnalogOutputParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AnalogOutput, error) { + v, err := (&_AnalogOutput{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AnalogOutput) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__analogOutput AnalogOutput, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AnalogOutput"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AnalogOutput") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[WritableProperty](ctx, "presentValue", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + deviceType, err := ReadSimpleField[OptionalProperty](ctx, "deviceType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceType' field")) + } + m.DeviceType = deviceType + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + units, err := ReadSimpleField[ReadableProperty](ctx, "units", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'units' field")) + } + m.Units = units + + minPresValue, err := ReadSimpleField[OptionalProperty](ctx, "minPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minPresValue' field")) + } + m.MinPresValue = minPresValue + + maxPresValue, err := ReadSimpleField[OptionalProperty](ctx, "maxPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxPresValue' field")) + } + m.MaxPresValue = maxPresValue + + resolution, err := ReadSimpleField[OptionalProperty](ctx, "resolution", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'resolution' field")) + } + m.Resolution = resolution + + priorityArray, err := ReadSimpleField[ReadableProperty](ctx, "priorityArray", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[ReadableProperty](ctx, "relinquishDefault", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + cOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "cOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVIncrement' field")) + } + m.COVIncrement = cOVIncrement + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + highLimit, err := ReadSimpleField[OptionalProperty](ctx, "highLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'highLimit' field")) + } + m.HighLimit = highLimit + + lowLimit, err := ReadSimpleField[OptionalProperty](ctx, "lowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowLimit' field")) + } + m.LowLimit = lowLimit + + deadband, err := ReadSimpleField[OptionalProperty](ctx, "deadband", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deadband' field")) + } + m.Deadband = deadband + + limitEnable, err := ReadSimpleField[OptionalProperty](ctx, "limitEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLimitEnable")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'limitEnable' field")) + } + m.LimitEnable = limitEnable + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + interfaceValue, err := ReadSimpleField[OptionalProperty](ctx, "interfaceValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalREAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'interfaceValue' field")) + } + m.InterfaceValue = interfaceValue + + currentCommandPriority, err := ReadSimpleField[ReadableProperty](ctx, "currentCommandPriority", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AnalogOutput"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AnalogOutput") + } + + return m, nil +} + +func (m *_AnalogOutput) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AnalogOutput) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AnalogOutput"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AnalogOutput") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deviceType", m.GetDeviceType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "units", m.GetUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'units' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minPresValue", m.GetMinPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxPresValue", m.GetMaxPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "resolution", m.GetResolution(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'resolution' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVIncrement", m.GetCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "highLimit", m.GetHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'highLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowLimit", m.GetLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deadband", m.GetDeadband(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deadband' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "limitEnable", m.GetLimitEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'limitEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "interfaceValue", m.GetInterfaceValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'interfaceValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AnalogOutput"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AnalogOutput") + } + return nil +} + +func (m *_AnalogOutput) IsAnalogOutput() {} + +func (m *_AnalogOutput) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AnalogOutput) deepCopy() *_AnalogOutput { + if m == nil { + return nil + } + _AnalogOutputCopy := &_AnalogOutput{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(WritableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.DeviceType.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.Units.DeepCopy().(ReadableProperty), + m.MinPresValue.DeepCopy().(OptionalProperty), + m.MaxPresValue.DeepCopy().(OptionalProperty), + m.Resolution.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(ReadableProperty), + m.RelinquishDefault.DeepCopy().(ReadableProperty), + m.COVIncrement.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.HighLimit.DeepCopy().(OptionalProperty), + m.LowLimit.DeepCopy().(OptionalProperty), + m.Deadband.DeepCopy().(OptionalProperty), + m.LimitEnable.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.InterfaceValue.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AnalogOutputCopy +} + +func (m *_AnalogOutput) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/AnalogValue.go b/plc4go/protocols/bacnetip/readwrite/model/AnalogValue.go new file mode 100644 index 00000000000..cb786544e11 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/AnalogValue.go @@ -0,0 +1,2536 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// AnalogValue is the corresponding interface of AnalogValue +type AnalogValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetUnits returns Units (property field) + GetUnits() ReadableProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetCOVIncrement returns COVIncrement (property field) + GetCOVIncrement() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetHighLimit returns HighLimit (property field) + GetHighLimit() OptionalProperty + // GetLowLimit returns LowLimit (property field) + GetLowLimit() OptionalProperty + // GetDeadband returns Deadband (property field) + GetDeadband() OptionalProperty + // GetLimitEnable returns LimitEnable (property field) + GetLimitEnable() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetMinPresValue returns MinPresValue (property field) + GetMinPresValue() OptionalProperty + // GetMaxPresValue returns MaxPresValue (property field) + GetMaxPresValue() OptionalProperty + // GetResolution returns Resolution (property field) + GetResolution() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetFaultHighLimit returns FaultHighLimit (property field) + GetFaultHighLimit() OptionalProperty + // GetFaultLowLimit returns FaultLowLimit (property field) + GetFaultLowLimit() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAnalogValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAnalogValue() + // CreateBuilder creates a AnalogValueBuilder + CreateAnalogValueBuilder() AnalogValueBuilder +} + +// _AnalogValue is the data-structure of this message +type _AnalogValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + Units ReadableProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + COVIncrement OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + HighLimit OptionalProperty + LowLimit OptionalProperty + Deadband OptionalProperty + LimitEnable OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + MinPresValue OptionalProperty + MaxPresValue OptionalProperty + Resolution OptionalProperty + PropertyList ReadableProperty + FaultHighLimit OptionalProperty + FaultLowLimit OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ AnalogValue = (*_AnalogValue)(nil) + +// NewAnalogValue factory function for _AnalogValue +func NewAnalogValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_AnalogValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for AnalogValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for AnalogValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for AnalogValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for AnalogValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for AnalogValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for AnalogValue must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for AnalogValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for AnalogValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for AnalogValue must not be nil") + } + if units == nil { + panic("units of type ReadableProperty for AnalogValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for AnalogValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for AnalogValue must not be nil") + } + if cOVIncrement == nil { + panic("cOVIncrement of type OptionalProperty for AnalogValue must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for AnalogValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for AnalogValue must not be nil") + } + if highLimit == nil { + panic("highLimit of type OptionalProperty for AnalogValue must not be nil") + } + if lowLimit == nil { + panic("lowLimit of type OptionalProperty for AnalogValue must not be nil") + } + if deadband == nil { + panic("deadband of type OptionalProperty for AnalogValue must not be nil") + } + if limitEnable == nil { + panic("limitEnable of type OptionalProperty for AnalogValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for AnalogValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for AnalogValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for AnalogValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for AnalogValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for AnalogValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for AnalogValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for AnalogValue must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for AnalogValue must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for AnalogValue must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for AnalogValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for AnalogValue must not be nil") + } + if minPresValue == nil { + panic("minPresValue of type OptionalProperty for AnalogValue must not be nil") + } + if maxPresValue == nil { + panic("maxPresValue of type OptionalProperty for AnalogValue must not be nil") + } + if resolution == nil { + panic("resolution of type OptionalProperty for AnalogValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for AnalogValue must not be nil") + } + if faultHighLimit == nil { + panic("faultHighLimit of type OptionalProperty for AnalogValue must not be nil") + } + if faultLowLimit == nil { + panic("faultLowLimit of type OptionalProperty for AnalogValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for AnalogValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for AnalogValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for AnalogValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for AnalogValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for AnalogValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for AnalogValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for AnalogValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for AnalogValue must not be nil") + } + return &_AnalogValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Units: units, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, COVIncrement: cOVIncrement, TimeDelay: timeDelay, NotificationClass: notificationClass, HighLimit: highLimit, LowLimit: lowLimit, Deadband: deadband, LimitEnable: limitEnable, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, MinPresValue: minPresValue, MaxPresValue: maxPresValue, Resolution: resolution, PropertyList: propertyList, FaultHighLimit: faultHighLimit, FaultLowLimit: faultLowLimit, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AnalogValueBuilder is a builder for AnalogValue +type AnalogValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AnalogValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AnalogValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AnalogValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AnalogValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) AnalogValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AnalogValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) AnalogValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) AnalogValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) AnalogValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) AnalogValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder + // WithUnits adds Units (property field) + WithUnits(ReadableProperty) AnalogValueBuilder + // WithUnitsBuilder adds Units (property field) which is build by the builder + WithUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) AnalogValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) AnalogValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithCOVIncrement adds COVIncrement (property field) + WithCOVIncrement(OptionalProperty) AnalogValueBuilder + // WithCOVIncrementBuilder adds COVIncrement (property field) which is build by the builder + WithCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) AnalogValueBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) AnalogValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithHighLimit adds HighLimit (property field) + WithHighLimit(OptionalProperty) AnalogValueBuilder + // WithHighLimitBuilder adds HighLimit (property field) which is build by the builder + WithHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithLowLimit adds LowLimit (property field) + WithLowLimit(OptionalProperty) AnalogValueBuilder + // WithLowLimitBuilder adds LowLimit (property field) which is build by the builder + WithLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithDeadband adds Deadband (property field) + WithDeadband(OptionalProperty) AnalogValueBuilder + // WithDeadbandBuilder adds Deadband (property field) which is build by the builder + WithDeadbandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithLimitEnable adds LimitEnable (property field) + WithLimitEnable(OptionalProperty) AnalogValueBuilder + // WithLimitEnableBuilder adds LimitEnable (property field) which is build by the builder + WithLimitEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) AnalogValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) AnalogValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) AnalogValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) AnalogValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) AnalogValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) AnalogValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) AnalogValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) AnalogValueBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) AnalogValueBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) AnalogValueBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) AnalogValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithMinPresValue adds MinPresValue (property field) + WithMinPresValue(OptionalProperty) AnalogValueBuilder + // WithMinPresValueBuilder adds MinPresValue (property field) which is build by the builder + WithMinPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithMaxPresValue adds MaxPresValue (property field) + WithMaxPresValue(OptionalProperty) AnalogValueBuilder + // WithMaxPresValueBuilder adds MaxPresValue (property field) which is build by the builder + WithMaxPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithResolution adds Resolution (property field) + WithResolution(OptionalProperty) AnalogValueBuilder + // WithResolutionBuilder adds Resolution (property field) which is build by the builder + WithResolutionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AnalogValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder + // WithFaultHighLimit adds FaultHighLimit (property field) + WithFaultHighLimit(OptionalProperty) AnalogValueBuilder + // WithFaultHighLimitBuilder adds FaultHighLimit (property field) which is build by the builder + WithFaultHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithFaultLowLimit adds FaultLowLimit (property field) + WithFaultLowLimit(OptionalProperty) AnalogValueBuilder + // WithFaultLowLimitBuilder adds FaultLowLimit (property field) which is build by the builder + WithFaultLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) AnalogValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) AnalogValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) AnalogValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) AnalogValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) AnalogValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AnalogValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AnalogValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AnalogValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder + // Build builds the AnalogValue or returns an error if something is wrong + Build() (AnalogValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() AnalogValue +} + +// NewAnalogValueBuilder() creates a AnalogValueBuilder +func NewAnalogValueBuilder() AnalogValueBuilder { + return &_AnalogValueBuilder{_AnalogValue: new(_AnalogValue)} +} + +type _AnalogValueBuilder struct { + *_AnalogValue + + err *utils.MultiError +} + +var _ (AnalogValueBuilder) = (*_AnalogValueBuilder)(nil) + +func (b *_AnalogValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AnalogValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithUnits(units).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithCOVIncrement(cOVIncrement).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithHighLimit(highLimit).WithLowLimit(lowLimit).WithDeadband(deadband).WithLimitEnable(limitEnable).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithMinPresValue(minPresValue).WithMaxPresValue(maxPresValue).WithResolution(resolution).WithPropertyList(propertyList).WithFaultHighLimit(faultHighLimit).WithFaultLowLimit(faultLowLimit).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AnalogValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AnalogValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AnalogValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithObjectName(objectName ReadableProperty) AnalogValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AnalogValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithObjectType(objectType ReadableProperty) AnalogValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AnalogValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithPresentValue(presentValue ReadableProperty) AnalogValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_AnalogValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithDescription(description OptionalProperty) AnalogValueBuilder { + b.Description = description + return b +} + +func (b *_AnalogValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithStatusFlags(statusFlags ReadableProperty) AnalogValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_AnalogValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithEventState(eventState ReadableProperty) AnalogValueBuilder { + b.EventState = eventState + return b +} + +func (b *_AnalogValueBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithReliability(reliability OptionalProperty) AnalogValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_AnalogValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithOutOfService(outOfService ReadableProperty) AnalogValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_AnalogValueBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithUnits(units ReadableProperty) AnalogValueBuilder { + b.Units = units + return b +} + +func (b *_AnalogValueBuilder) WithUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.Units.CreateReadablePropertyBuilder()) + var err error + b.Units, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithPriorityArray(priorityArray OptionalProperty) AnalogValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_AnalogValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) AnalogValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_AnalogValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithCOVIncrement(cOVIncrement OptionalProperty) AnalogValueBuilder { + b.COVIncrement = cOVIncrement + return b +} + +func (b *_AnalogValueBuilder) WithCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.COVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.COVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithTimeDelay(timeDelay OptionalProperty) AnalogValueBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_AnalogValueBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithNotificationClass(notificationClass OptionalProperty) AnalogValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_AnalogValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithHighLimit(highLimit OptionalProperty) AnalogValueBuilder { + b.HighLimit = highLimit + return b +} + +func (b *_AnalogValueBuilder) WithHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.HighLimit.CreateOptionalPropertyBuilder()) + var err error + b.HighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithLowLimit(lowLimit OptionalProperty) AnalogValueBuilder { + b.LowLimit = lowLimit + return b +} + +func (b *_AnalogValueBuilder) WithLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.LowLimit.CreateOptionalPropertyBuilder()) + var err error + b.LowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithDeadband(deadband OptionalProperty) AnalogValueBuilder { + b.Deadband = deadband + return b +} + +func (b *_AnalogValueBuilder) WithDeadbandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.Deadband.CreateOptionalPropertyBuilder()) + var err error + b.Deadband, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithLimitEnable(limitEnable OptionalProperty) AnalogValueBuilder { + b.LimitEnable = limitEnable + return b +} + +func (b *_AnalogValueBuilder) WithLimitEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.LimitEnable.CreateOptionalPropertyBuilder()) + var err error + b.LimitEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithEventEnable(eventEnable OptionalProperty) AnalogValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_AnalogValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) AnalogValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_AnalogValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithNotifyType(notifyType OptionalProperty) AnalogValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_AnalogValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) AnalogValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_AnalogValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) AnalogValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_AnalogValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) AnalogValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_AnalogValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) AnalogValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_AnalogValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) AnalogValueBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_AnalogValueBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) AnalogValueBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_AnalogValueBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) AnalogValueBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_AnalogValueBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) AnalogValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_AnalogValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithMinPresValue(minPresValue OptionalProperty) AnalogValueBuilder { + b.MinPresValue = minPresValue + return b +} + +func (b *_AnalogValueBuilder) WithMinPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.MinPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MinPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithMaxPresValue(maxPresValue OptionalProperty) AnalogValueBuilder { + b.MaxPresValue = maxPresValue + return b +} + +func (b *_AnalogValueBuilder) WithMaxPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.MaxPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MaxPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithResolution(resolution OptionalProperty) AnalogValueBuilder { + b.Resolution = resolution + return b +} + +func (b *_AnalogValueBuilder) WithResolutionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.Resolution.CreateOptionalPropertyBuilder()) + var err error + b.Resolution, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithPropertyList(propertyList ReadableProperty) AnalogValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AnalogValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithFaultHighLimit(faultHighLimit OptionalProperty) AnalogValueBuilder { + b.FaultHighLimit = faultHighLimit + return b +} + +func (b *_AnalogValueBuilder) WithFaultHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.FaultHighLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultHighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithFaultLowLimit(faultLowLimit OptionalProperty) AnalogValueBuilder { + b.FaultLowLimit = faultLowLimit + return b +} + +func (b *_AnalogValueBuilder) WithFaultLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.FaultLowLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultLowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) AnalogValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_AnalogValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithValueSource(valueSource OptionalProperty) AnalogValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_AnalogValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) AnalogValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_AnalogValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) AnalogValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_AnalogValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) AnalogValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_AnalogValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithTags(tags OptionalProperty) AnalogValueBuilder { + b.Tags = tags + return b +} + +func (b *_AnalogValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithProfileLocation(profileLocation OptionalProperty) AnalogValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AnalogValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) WithProfileName(profileName OptionalProperty) AnalogValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AnalogValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AnalogValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AnalogValueBuilder) Build() (AnalogValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Units == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'units' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.COVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVIncrement' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.HighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'highLimit' not set")) + } + if b.LowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowLimit' not set")) + } + if b.Deadband == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deadband' not set")) + } + if b.LimitEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'limitEnable' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.MinPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minPresValue' not set")) + } + if b.MaxPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxPresValue' not set")) + } + if b.Resolution == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'resolution' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.FaultHighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultHighLimit' not set")) + } + if b.FaultLowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultLowLimit' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._AnalogValue.deepCopy(), nil +} + +func (b *_AnalogValueBuilder) MustBuild() AnalogValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AnalogValueBuilder) DeepCopy() any { + _copy := b.CreateAnalogValueBuilder().(*_AnalogValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAnalogValueBuilder creates a AnalogValueBuilder +func (b *_AnalogValue) CreateAnalogValueBuilder() AnalogValueBuilder { + if b == nil { + return NewAnalogValueBuilder() + } + return &_AnalogValueBuilder{_AnalogValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_AnalogValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_AnalogValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_AnalogValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_AnalogValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_AnalogValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_AnalogValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_AnalogValue) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_AnalogValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_AnalogValue) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_AnalogValue) GetUnits() ReadableProperty { + return m.Units +} + +func (m *_AnalogValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_AnalogValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_AnalogValue) GetCOVIncrement() OptionalProperty { + return m.COVIncrement +} + +func (m *_AnalogValue) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_AnalogValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_AnalogValue) GetHighLimit() OptionalProperty { + return m.HighLimit +} + +func (m *_AnalogValue) GetLowLimit() OptionalProperty { + return m.LowLimit +} + +func (m *_AnalogValue) GetDeadband() OptionalProperty { + return m.Deadband +} + +func (m *_AnalogValue) GetLimitEnable() OptionalProperty { + return m.LimitEnable +} + +func (m *_AnalogValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_AnalogValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_AnalogValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_AnalogValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_AnalogValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_AnalogValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_AnalogValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_AnalogValue) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_AnalogValue) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_AnalogValue) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_AnalogValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_AnalogValue) GetMinPresValue() OptionalProperty { + return m.MinPresValue +} + +func (m *_AnalogValue) GetMaxPresValue() OptionalProperty { + return m.MaxPresValue +} + +func (m *_AnalogValue) GetResolution() OptionalProperty { + return m.Resolution +} + +func (m *_AnalogValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_AnalogValue) GetFaultHighLimit() OptionalProperty { + return m.FaultHighLimit +} + +func (m *_AnalogValue) GetFaultLowLimit() OptionalProperty { + return m.FaultLowLimit +} + +func (m *_AnalogValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_AnalogValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_AnalogValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_AnalogValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_AnalogValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_AnalogValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_AnalogValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_AnalogValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAnalogValue(structType any) AnalogValue { + if casted, ok := structType.(AnalogValue); ok { + return casted + } + if casted, ok := structType.(*AnalogValue); ok { + return *casted + } + return nil +} + +func (m *_AnalogValue) GetTypeName() string { + return "AnalogValue" +} + +func (m *_AnalogValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (units) + lengthInBits += m.Units.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (cOVIncrement) + lengthInBits += m.COVIncrement.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (highLimit) + lengthInBits += m.HighLimit.GetLengthInBits(ctx) + + // Simple field (lowLimit) + lengthInBits += m.LowLimit.GetLengthInBits(ctx) + + // Simple field (deadband) + lengthInBits += m.Deadband.GetLengthInBits(ctx) + + // Simple field (limitEnable) + lengthInBits += m.LimitEnable.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (minPresValue) + lengthInBits += m.MinPresValue.GetLengthInBits(ctx) + + // Simple field (maxPresValue) + lengthInBits += m.MaxPresValue.GetLengthInBits(ctx) + + // Simple field (resolution) + lengthInBits += m.Resolution.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (faultHighLimit) + lengthInBits += m.FaultHighLimit.GetLengthInBits(ctx) + + // Simple field (faultLowLimit) + lengthInBits += m.FaultLowLimit.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_AnalogValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AnalogValueParse(ctx context.Context, theBytes []byte) (AnalogValue, error) { + return AnalogValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AnalogValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (AnalogValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (AnalogValue, error) { + return AnalogValueParseWithBuffer(ctx, readBuffer) + } +} + +func AnalogValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (AnalogValue, error) { + v, err := (&_AnalogValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_AnalogValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__analogValue AnalogValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("AnalogValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for AnalogValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + units, err := ReadSimpleField[ReadableProperty](ctx, "units", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'units' field")) + } + m.Units = units + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + cOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "cOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVIncrement' field")) + } + m.COVIncrement = cOVIncrement + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + highLimit, err := ReadSimpleField[OptionalProperty](ctx, "highLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'highLimit' field")) + } + m.HighLimit = highLimit + + lowLimit, err := ReadSimpleField[OptionalProperty](ctx, "lowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowLimit' field")) + } + m.LowLimit = lowLimit + + deadband, err := ReadSimpleField[OptionalProperty](ctx, "deadband", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deadband' field")) + } + m.Deadband = deadband + + limitEnable, err := ReadSimpleField[OptionalProperty](ctx, "limitEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLimitEnable")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'limitEnable' field")) + } + m.LimitEnable = limitEnable + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + minPresValue, err := ReadSimpleField[OptionalProperty](ctx, "minPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minPresValue' field")) + } + m.MinPresValue = minPresValue + + maxPresValue, err := ReadSimpleField[OptionalProperty](ctx, "maxPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxPresValue' field")) + } + m.MaxPresValue = maxPresValue + + resolution, err := ReadSimpleField[OptionalProperty](ctx, "resolution", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'resolution' field")) + } + m.Resolution = resolution + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + faultHighLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultHighLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultHighLimit' field")) + } + m.FaultHighLimit = faultHighLimit + + faultLowLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultLowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultLowLimit' field")) + } + m.FaultLowLimit = faultLowLimit + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("AnalogValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for AnalogValue") + } + + return m, nil +} + +func (m *_AnalogValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_AnalogValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("AnalogValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for AnalogValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "units", m.GetUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'units' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVIncrement", m.GetCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "highLimit", m.GetHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'highLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowLimit", m.GetLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deadband", m.GetDeadband(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deadband' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "limitEnable", m.GetLimitEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'limitEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minPresValue", m.GetMinPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxPresValue", m.GetMaxPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "resolution", m.GetResolution(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'resolution' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultHighLimit", m.GetFaultHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultHighLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultLowLimit", m.GetFaultLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultLowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("AnalogValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for AnalogValue") + } + return nil +} + +func (m *_AnalogValue) IsAnalogValue() {} + +func (m *_AnalogValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_AnalogValue) deepCopy() *_AnalogValue { + if m == nil { + return nil + } + _AnalogValueCopy := &_AnalogValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.Units.DeepCopy().(ReadableProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.COVIncrement.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.HighLimit.DeepCopy().(OptionalProperty), + m.LowLimit.DeepCopy().(OptionalProperty), + m.Deadband.DeepCopy().(OptionalProperty), + m.LimitEnable.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.MinPresValue.DeepCopy().(OptionalProperty), + m.MaxPresValue.DeepCopy().(OptionalProperty), + m.Resolution.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.FaultHighLimit.DeepCopy().(OptionalProperty), + m.FaultLowLimit.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AnalogValueCopy +} + +func (m *_AnalogValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Averaging.go b/plc4go/protocols/bacnetip/readwrite/model/Averaging.go new file mode 100644 index 00000000000..438788d5d52 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Averaging.go @@ -0,0 +1,1236 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Averaging is the corresponding interface of Averaging +type Averaging interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetMinimumValue returns MinimumValue (property field) + GetMinimumValue() ReadableProperty + // GetMinimumValueTimestamp returns MinimumValueTimestamp (property field) + GetMinimumValueTimestamp() OptionalProperty + // GetAverageValue returns AverageValue (property field) + GetAverageValue() ReadableProperty + // GetVarianceValue returns VarianceValue (property field) + GetVarianceValue() OptionalProperty + // GetMaximumValue returns MaximumValue (property field) + GetMaximumValue() ReadableProperty + // GetMaximumValueTimestamp returns MaximumValueTimestamp (property field) + GetMaximumValueTimestamp() OptionalProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetAttemptedSamples returns AttemptedSamples (property field) + GetAttemptedSamples() WritableProperty + // GetValidSamples returns ValidSamples (property field) + GetValidSamples() ReadableProperty + // GetObjectPropertyReference returns ObjectPropertyReference (property field) + GetObjectPropertyReference() ReadableProperty + // GetWindowInterval returns WindowInterval (property field) + GetWindowInterval() WritableProperty + // GetWindowSamples returns WindowSamples (property field) + GetWindowSamples() WritableProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsAveraging is a marker method to prevent unintentional type checks (interfaces of same signature) + IsAveraging() + // CreateBuilder creates a AveragingBuilder + CreateAveragingBuilder() AveragingBuilder +} + +// _Averaging is the data-structure of this message +type _Averaging struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + MinimumValue ReadableProperty + MinimumValueTimestamp OptionalProperty + AverageValue ReadableProperty + VarianceValue OptionalProperty + MaximumValue ReadableProperty + MaximumValueTimestamp OptionalProperty + Description OptionalProperty + AttemptedSamples WritableProperty + ValidSamples ReadableProperty + ObjectPropertyReference ReadableProperty + WindowInterval WritableProperty + WindowSamples WritableProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Averaging = (*_Averaging)(nil) + +// NewAveraging factory function for _Averaging +func NewAveraging(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, minimumValue ReadableProperty, minimumValueTimestamp OptionalProperty, averageValue ReadableProperty, varianceValue OptionalProperty, maximumValue ReadableProperty, maximumValueTimestamp OptionalProperty, description OptionalProperty, attemptedSamples WritableProperty, validSamples ReadableProperty, objectPropertyReference ReadableProperty, windowInterval WritableProperty, windowSamples WritableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Averaging { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Averaging must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Averaging must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Averaging must not be nil") + } + if minimumValue == nil { + panic("minimumValue of type ReadableProperty for Averaging must not be nil") + } + if minimumValueTimestamp == nil { + panic("minimumValueTimestamp of type OptionalProperty for Averaging must not be nil") + } + if averageValue == nil { + panic("averageValue of type ReadableProperty for Averaging must not be nil") + } + if varianceValue == nil { + panic("varianceValue of type OptionalProperty for Averaging must not be nil") + } + if maximumValue == nil { + panic("maximumValue of type ReadableProperty for Averaging must not be nil") + } + if maximumValueTimestamp == nil { + panic("maximumValueTimestamp of type OptionalProperty for Averaging must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Averaging must not be nil") + } + if attemptedSamples == nil { + panic("attemptedSamples of type WritableProperty for Averaging must not be nil") + } + if validSamples == nil { + panic("validSamples of type ReadableProperty for Averaging must not be nil") + } + if objectPropertyReference == nil { + panic("objectPropertyReference of type ReadableProperty for Averaging must not be nil") + } + if windowInterval == nil { + panic("windowInterval of type WritableProperty for Averaging must not be nil") + } + if windowSamples == nil { + panic("windowSamples of type WritableProperty for Averaging must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Averaging must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Averaging must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Averaging must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Averaging must not be nil") + } + return &_Averaging{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, MinimumValue: minimumValue, MinimumValueTimestamp: minimumValueTimestamp, AverageValue: averageValue, VarianceValue: varianceValue, MaximumValue: maximumValue, MaximumValueTimestamp: maximumValueTimestamp, Description: description, AttemptedSamples: attemptedSamples, ValidSamples: validSamples, ObjectPropertyReference: objectPropertyReference, WindowInterval: windowInterval, WindowSamples: windowSamples, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// AveragingBuilder is a builder for Averaging +type AveragingBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, minimumValue ReadableProperty, minimumValueTimestamp OptionalProperty, averageValue ReadableProperty, varianceValue OptionalProperty, maximumValue ReadableProperty, maximumValueTimestamp OptionalProperty, description OptionalProperty, attemptedSamples WritableProperty, validSamples ReadableProperty, objectPropertyReference ReadableProperty, windowInterval WritableProperty, windowSamples WritableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AveragingBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) AveragingBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) AveragingBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) AveragingBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder + // WithMinimumValue adds MinimumValue (property field) + WithMinimumValue(ReadableProperty) AveragingBuilder + // WithMinimumValueBuilder adds MinimumValue (property field) which is build by the builder + WithMinimumValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder + // WithMinimumValueTimestamp adds MinimumValueTimestamp (property field) + WithMinimumValueTimestamp(OptionalProperty) AveragingBuilder + // WithMinimumValueTimestampBuilder adds MinimumValueTimestamp (property field) which is build by the builder + WithMinimumValueTimestampBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder + // WithAverageValue adds AverageValue (property field) + WithAverageValue(ReadableProperty) AveragingBuilder + // WithAverageValueBuilder adds AverageValue (property field) which is build by the builder + WithAverageValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder + // WithVarianceValue adds VarianceValue (property field) + WithVarianceValue(OptionalProperty) AveragingBuilder + // WithVarianceValueBuilder adds VarianceValue (property field) which is build by the builder + WithVarianceValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder + // WithMaximumValue adds MaximumValue (property field) + WithMaximumValue(ReadableProperty) AveragingBuilder + // WithMaximumValueBuilder adds MaximumValue (property field) which is build by the builder + WithMaximumValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder + // WithMaximumValueTimestamp adds MaximumValueTimestamp (property field) + WithMaximumValueTimestamp(OptionalProperty) AveragingBuilder + // WithMaximumValueTimestampBuilder adds MaximumValueTimestamp (property field) which is build by the builder + WithMaximumValueTimestampBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) AveragingBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder + // WithAttemptedSamples adds AttemptedSamples (property field) + WithAttemptedSamples(WritableProperty) AveragingBuilder + // WithAttemptedSamplesBuilder adds AttemptedSamples (property field) which is build by the builder + WithAttemptedSamplesBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) AveragingBuilder + // WithValidSamples adds ValidSamples (property field) + WithValidSamples(ReadableProperty) AveragingBuilder + // WithValidSamplesBuilder adds ValidSamples (property field) which is build by the builder + WithValidSamplesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder + // WithObjectPropertyReference adds ObjectPropertyReference (property field) + WithObjectPropertyReference(ReadableProperty) AveragingBuilder + // WithObjectPropertyReferenceBuilder adds ObjectPropertyReference (property field) which is build by the builder + WithObjectPropertyReferenceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder + // WithWindowInterval adds WindowInterval (property field) + WithWindowInterval(WritableProperty) AveragingBuilder + // WithWindowIntervalBuilder adds WindowInterval (property field) which is build by the builder + WithWindowIntervalBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) AveragingBuilder + // WithWindowSamples adds WindowSamples (property field) + WithWindowSamples(WritableProperty) AveragingBuilder + // WithWindowSamplesBuilder adds WindowSamples (property field) which is build by the builder + WithWindowSamplesBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) AveragingBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) AveragingBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) AveragingBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) AveragingBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) AveragingBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder + // Build builds the Averaging or returns an error if something is wrong + Build() (Averaging, error) + // MustBuild does the same as Build but panics on error + MustBuild() Averaging +} + +// NewAveragingBuilder() creates a AveragingBuilder +func NewAveragingBuilder() AveragingBuilder { + return &_AveragingBuilder{_Averaging: new(_Averaging)} +} + +type _AveragingBuilder struct { + *_Averaging + + err *utils.MultiError +} + +var _ (AveragingBuilder) = (*_AveragingBuilder)(nil) + +func (b *_AveragingBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, minimumValue ReadableProperty, minimumValueTimestamp OptionalProperty, averageValue ReadableProperty, varianceValue OptionalProperty, maximumValue ReadableProperty, maximumValueTimestamp OptionalProperty, description OptionalProperty, attemptedSamples WritableProperty, validSamples ReadableProperty, objectPropertyReference ReadableProperty, windowInterval WritableProperty, windowSamples WritableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) AveragingBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithMinimumValue(minimumValue).WithMinimumValueTimestamp(minimumValueTimestamp).WithAverageValue(averageValue).WithVarianceValue(varianceValue).WithMaximumValue(maximumValue).WithMaximumValueTimestamp(maximumValueTimestamp).WithDescription(description).WithAttemptedSamples(attemptedSamples).WithValidSamples(validSamples).WithObjectPropertyReference(objectPropertyReference).WithWindowInterval(windowInterval).WithWindowSamples(windowSamples).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_AveragingBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) AveragingBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_AveragingBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithObjectName(objectName ReadableProperty) AveragingBuilder { + b.ObjectName = objectName + return b +} + +func (b *_AveragingBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithObjectType(objectType ReadableProperty) AveragingBuilder { + b.ObjectType = objectType + return b +} + +func (b *_AveragingBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithMinimumValue(minimumValue ReadableProperty) AveragingBuilder { + b.MinimumValue = minimumValue + return b +} + +func (b *_AveragingBuilder) WithMinimumValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.MinimumValue.CreateReadablePropertyBuilder()) + var err error + b.MinimumValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithMinimumValueTimestamp(minimumValueTimestamp OptionalProperty) AveragingBuilder { + b.MinimumValueTimestamp = minimumValueTimestamp + return b +} + +func (b *_AveragingBuilder) WithMinimumValueTimestampBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.MinimumValueTimestamp.CreateOptionalPropertyBuilder()) + var err error + b.MinimumValueTimestamp, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithAverageValue(averageValue ReadableProperty) AveragingBuilder { + b.AverageValue = averageValue + return b +} + +func (b *_AveragingBuilder) WithAverageValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.AverageValue.CreateReadablePropertyBuilder()) + var err error + b.AverageValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithVarianceValue(varianceValue OptionalProperty) AveragingBuilder { + b.VarianceValue = varianceValue + return b +} + +func (b *_AveragingBuilder) WithVarianceValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.VarianceValue.CreateOptionalPropertyBuilder()) + var err error + b.VarianceValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithMaximumValue(maximumValue ReadableProperty) AveragingBuilder { + b.MaximumValue = maximumValue + return b +} + +func (b *_AveragingBuilder) WithMaximumValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.MaximumValue.CreateReadablePropertyBuilder()) + var err error + b.MaximumValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithMaximumValueTimestamp(maximumValueTimestamp OptionalProperty) AveragingBuilder { + b.MaximumValueTimestamp = maximumValueTimestamp + return b +} + +func (b *_AveragingBuilder) WithMaximumValueTimestampBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.MaximumValueTimestamp.CreateOptionalPropertyBuilder()) + var err error + b.MaximumValueTimestamp, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithDescription(description OptionalProperty) AveragingBuilder { + b.Description = description + return b +} + +func (b *_AveragingBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithAttemptedSamples(attemptedSamples WritableProperty) AveragingBuilder { + b.AttemptedSamples = attemptedSamples + return b +} + +func (b *_AveragingBuilder) WithAttemptedSamplesBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.AttemptedSamples.CreateWritablePropertyBuilder()) + var err error + b.AttemptedSamples, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithValidSamples(validSamples ReadableProperty) AveragingBuilder { + b.ValidSamples = validSamples + return b +} + +func (b *_AveragingBuilder) WithValidSamplesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.ValidSamples.CreateReadablePropertyBuilder()) + var err error + b.ValidSamples, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithObjectPropertyReference(objectPropertyReference ReadableProperty) AveragingBuilder { + b.ObjectPropertyReference = objectPropertyReference + return b +} + +func (b *_AveragingBuilder) WithObjectPropertyReferenceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.ObjectPropertyReference.CreateReadablePropertyBuilder()) + var err error + b.ObjectPropertyReference, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithWindowInterval(windowInterval WritableProperty) AveragingBuilder { + b.WindowInterval = windowInterval + return b +} + +func (b *_AveragingBuilder) WithWindowIntervalBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.WindowInterval.CreateWritablePropertyBuilder()) + var err error + b.WindowInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithWindowSamples(windowSamples WritableProperty) AveragingBuilder { + b.WindowSamples = windowSamples + return b +} + +func (b *_AveragingBuilder) WithWindowSamplesBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.WindowSamples.CreateWritablePropertyBuilder()) + var err error + b.WindowSamples, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithPropertyList(propertyList ReadableProperty) AveragingBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_AveragingBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithTags(tags OptionalProperty) AveragingBuilder { + b.Tags = tags + return b +} + +func (b *_AveragingBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithProfileLocation(profileLocation OptionalProperty) AveragingBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_AveragingBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) WithProfileName(profileName OptionalProperty) AveragingBuilder { + b.ProfileName = profileName + return b +} + +func (b *_AveragingBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) AveragingBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_AveragingBuilder) Build() (Averaging, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.MinimumValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minimumValue' not set")) + } + if b.MinimumValueTimestamp == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minimumValueTimestamp' not set")) + } + if b.AverageValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'averageValue' not set")) + } + if b.VarianceValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'varianceValue' not set")) + } + if b.MaximumValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maximumValue' not set")) + } + if b.MaximumValueTimestamp == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maximumValueTimestamp' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.AttemptedSamples == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'attemptedSamples' not set")) + } + if b.ValidSamples == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'validSamples' not set")) + } + if b.ObjectPropertyReference == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectPropertyReference' not set")) + } + if b.WindowInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'windowInterval' not set")) + } + if b.WindowSamples == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'windowSamples' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Averaging.deepCopy(), nil +} + +func (b *_AveragingBuilder) MustBuild() Averaging { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_AveragingBuilder) DeepCopy() any { + _copy := b.CreateAveragingBuilder().(*_AveragingBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateAveragingBuilder creates a AveragingBuilder +func (b *_Averaging) CreateAveragingBuilder() AveragingBuilder { + if b == nil { + return NewAveragingBuilder() + } + return &_AveragingBuilder{_Averaging: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Averaging) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Averaging) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Averaging) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Averaging) GetMinimumValue() ReadableProperty { + return m.MinimumValue +} + +func (m *_Averaging) GetMinimumValueTimestamp() OptionalProperty { + return m.MinimumValueTimestamp +} + +func (m *_Averaging) GetAverageValue() ReadableProperty { + return m.AverageValue +} + +func (m *_Averaging) GetVarianceValue() OptionalProperty { + return m.VarianceValue +} + +func (m *_Averaging) GetMaximumValue() ReadableProperty { + return m.MaximumValue +} + +func (m *_Averaging) GetMaximumValueTimestamp() OptionalProperty { + return m.MaximumValueTimestamp +} + +func (m *_Averaging) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Averaging) GetAttemptedSamples() WritableProperty { + return m.AttemptedSamples +} + +func (m *_Averaging) GetValidSamples() ReadableProperty { + return m.ValidSamples +} + +func (m *_Averaging) GetObjectPropertyReference() ReadableProperty { + return m.ObjectPropertyReference +} + +func (m *_Averaging) GetWindowInterval() WritableProperty { + return m.WindowInterval +} + +func (m *_Averaging) GetWindowSamples() WritableProperty { + return m.WindowSamples +} + +func (m *_Averaging) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Averaging) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Averaging) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Averaging) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastAveraging(structType any) Averaging { + if casted, ok := structType.(Averaging); ok { + return casted + } + if casted, ok := structType.(*Averaging); ok { + return *casted + } + return nil +} + +func (m *_Averaging) GetTypeName() string { + return "Averaging" +} + +func (m *_Averaging) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (minimumValue) + lengthInBits += m.MinimumValue.GetLengthInBits(ctx) + + // Simple field (minimumValueTimestamp) + lengthInBits += m.MinimumValueTimestamp.GetLengthInBits(ctx) + + // Simple field (averageValue) + lengthInBits += m.AverageValue.GetLengthInBits(ctx) + + // Simple field (varianceValue) + lengthInBits += m.VarianceValue.GetLengthInBits(ctx) + + // Simple field (maximumValue) + lengthInBits += m.MaximumValue.GetLengthInBits(ctx) + + // Simple field (maximumValueTimestamp) + lengthInBits += m.MaximumValueTimestamp.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (attemptedSamples) + lengthInBits += m.AttemptedSamples.GetLengthInBits(ctx) + + // Simple field (validSamples) + lengthInBits += m.ValidSamples.GetLengthInBits(ctx) + + // Simple field (objectPropertyReference) + lengthInBits += m.ObjectPropertyReference.GetLengthInBits(ctx) + + // Simple field (windowInterval) + lengthInBits += m.WindowInterval.GetLengthInBits(ctx) + + // Simple field (windowSamples) + lengthInBits += m.WindowSamples.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Averaging) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func AveragingParse(ctx context.Context, theBytes []byte) (Averaging, error) { + return AveragingParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func AveragingParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Averaging, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Averaging, error) { + return AveragingParseWithBuffer(ctx, readBuffer) + } +} + +func AveragingParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Averaging, error) { + v, err := (&_Averaging{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Averaging) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__averaging Averaging, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Averaging"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Averaging") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + minimumValue, err := ReadSimpleField[ReadableProperty](ctx, "minimumValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minimumValue' field")) + } + m.MinimumValue = minimumValue + + minimumValueTimestamp, err := ReadSimpleField[OptionalProperty](ctx, "minimumValueTimestamp", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minimumValueTimestamp' field")) + } + m.MinimumValueTimestamp = minimumValueTimestamp + + averageValue, err := ReadSimpleField[ReadableProperty](ctx, "averageValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'averageValue' field")) + } + m.AverageValue = averageValue + + varianceValue, err := ReadSimpleField[OptionalProperty](ctx, "varianceValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'varianceValue' field")) + } + m.VarianceValue = varianceValue + + maximumValue, err := ReadSimpleField[ReadableProperty](ctx, "maximumValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maximumValue' field")) + } + m.MaximumValue = maximumValue + + maximumValueTimestamp, err := ReadSimpleField[OptionalProperty](ctx, "maximumValueTimestamp", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maximumValueTimestamp' field")) + } + m.MaximumValueTimestamp = maximumValueTimestamp + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + attemptedSamples, err := ReadSimpleField[WritableProperty](ctx, "attemptedSamples", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'attemptedSamples' field")) + } + m.AttemptedSamples = attemptedSamples + + validSamples, err := ReadSimpleField[ReadableProperty](ctx, "validSamples", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'validSamples' field")) + } + m.ValidSamples = validSamples + + objectPropertyReference, err := ReadSimpleField[ReadableProperty](ctx, "objectPropertyReference", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDeviceObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectPropertyReference' field")) + } + m.ObjectPropertyReference = objectPropertyReference + + windowInterval, err := ReadSimpleField[WritableProperty](ctx, "windowInterval", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'windowInterval' field")) + } + m.WindowInterval = windowInterval + + windowSamples, err := ReadSimpleField[WritableProperty](ctx, "windowSamples", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'windowSamples' field")) + } + m.WindowSamples = windowSamples + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Averaging"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Averaging") + } + + return m, nil +} + +func (m *_Averaging) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Averaging) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Averaging"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Averaging") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "minimumValue", m.GetMinimumValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minimumValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minimumValueTimestamp", m.GetMinimumValueTimestamp(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minimumValueTimestamp' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "averageValue", m.GetAverageValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'averageValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "varianceValue", m.GetVarianceValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'varianceValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "maximumValue", m.GetMaximumValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maximumValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maximumValueTimestamp", m.GetMaximumValueTimestamp(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maximumValueTimestamp' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "attemptedSamples", m.GetAttemptedSamples(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'attemptedSamples' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "validSamples", m.GetValidSamples(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'validSamples' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectPropertyReference", m.GetObjectPropertyReference(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectPropertyReference' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "windowInterval", m.GetWindowInterval(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'windowInterval' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "windowSamples", m.GetWindowSamples(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'windowSamples' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Averaging"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Averaging") + } + return nil +} + +func (m *_Averaging) IsAveraging() {} + +func (m *_Averaging) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Averaging) deepCopy() *_Averaging { + if m == nil { + return nil + } + _AveragingCopy := &_Averaging{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.MinimumValue.DeepCopy().(ReadableProperty), + m.MinimumValueTimestamp.DeepCopy().(OptionalProperty), + m.AverageValue.DeepCopy().(ReadableProperty), + m.VarianceValue.DeepCopy().(OptionalProperty), + m.MaximumValue.DeepCopy().(ReadableProperty), + m.MaximumValueTimestamp.DeepCopy().(OptionalProperty), + m.Description.DeepCopy().(OptionalProperty), + m.AttemptedSamples.DeepCopy().(WritableProperty), + m.ValidSamples.DeepCopy().(ReadableProperty), + m.ObjectPropertyReference.DeepCopy().(ReadableProperty), + m.WindowInterval.DeepCopy().(WritableProperty), + m.WindowSamples.DeepCopy().(WritableProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _AveragingCopy +} + +func (m *_Averaging) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/BinaryInput.go b/plc4go/protocols/bacnetip/readwrite/model/BinaryInput.go new file mode 100644 index 00000000000..7e237e746a9 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/BinaryInput.go @@ -0,0 +1,2172 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// BinaryInput is the corresponding interface of BinaryInput +type BinaryInput interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetDeviceType returns DeviceType (property field) + GetDeviceType() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetPolarity returns Polarity (property field) + GetPolarity() ReadableProperty + // GetInactiveText returns InactiveText (property field) + GetInactiveText() OptionalProperty + // GetActiveText returns ActiveText (property field) + GetActiveText() OptionalProperty + // GetChangeOfStateTime returns ChangeOfStateTime (property field) + GetChangeOfStateTime() OptionalProperty + // GetChangeOfStateCount returns ChangeOfStateCount (property field) + GetChangeOfStateCount() OptionalProperty + // GetTimeOfStateCountReset returns TimeOfStateCountReset (property field) + GetTimeOfStateCountReset() OptionalProperty + // GetElapsedActiveTime returns ElapsedActiveTime (property field) + GetElapsedActiveTime() OptionalProperty + // GetTimeOfActiveTimeReset returns TimeOfActiveTimeReset (property field) + GetTimeOfActiveTimeReset() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetAlarmValue returns AlarmValue (property field) + GetAlarmValue() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetInterfaceValue returns InterfaceValue (property field) + GetInterfaceValue() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsBinaryInput is a marker method to prevent unintentional type checks (interfaces of same signature) + IsBinaryInput() + // CreateBuilder creates a BinaryInputBuilder + CreateBinaryInputBuilder() BinaryInputBuilder +} + +// _BinaryInput is the data-structure of this message +type _BinaryInput struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + DeviceType OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + Polarity ReadableProperty + InactiveText OptionalProperty + ActiveText OptionalProperty + ChangeOfStateTime OptionalProperty + ChangeOfStateCount OptionalProperty + TimeOfStateCountReset OptionalProperty + ElapsedActiveTime OptionalProperty + TimeOfActiveTimeReset OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + AlarmValue OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + InterfaceValue OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ BinaryInput = (*_BinaryInput)(nil) + +// NewBinaryInput factory function for _BinaryInput +func NewBinaryInput(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, polarity ReadableProperty, inactiveText OptionalProperty, activeText OptionalProperty, changeOfStateTime OptionalProperty, changeOfStateCount OptionalProperty, timeOfStateCountReset OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_BinaryInput { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for BinaryInput must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for BinaryInput must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for BinaryInput must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for BinaryInput must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for BinaryInput must not be nil") + } + if deviceType == nil { + panic("deviceType of type OptionalProperty for BinaryInput must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for BinaryInput must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for BinaryInput must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for BinaryInput must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for BinaryInput must not be nil") + } + if polarity == nil { + panic("polarity of type ReadableProperty for BinaryInput must not be nil") + } + if inactiveText == nil { + panic("inactiveText of type OptionalProperty for BinaryInput must not be nil") + } + if activeText == nil { + panic("activeText of type OptionalProperty for BinaryInput must not be nil") + } + if changeOfStateTime == nil { + panic("changeOfStateTime of type OptionalProperty for BinaryInput must not be nil") + } + if changeOfStateCount == nil { + panic("changeOfStateCount of type OptionalProperty for BinaryInput must not be nil") + } + if timeOfStateCountReset == nil { + panic("timeOfStateCountReset of type OptionalProperty for BinaryInput must not be nil") + } + if elapsedActiveTime == nil { + panic("elapsedActiveTime of type OptionalProperty for BinaryInput must not be nil") + } + if timeOfActiveTimeReset == nil { + panic("timeOfActiveTimeReset of type OptionalProperty for BinaryInput must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for BinaryInput must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for BinaryInput must not be nil") + } + if alarmValue == nil { + panic("alarmValue of type OptionalProperty for BinaryInput must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for BinaryInput must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for BinaryInput must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for BinaryInput must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for BinaryInput must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for BinaryInput must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for BinaryInput must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for BinaryInput must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for BinaryInput must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for BinaryInput must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for BinaryInput must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for BinaryInput must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for BinaryInput must not be nil") + } + if interfaceValue == nil { + panic("interfaceValue of type OptionalProperty for BinaryInput must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for BinaryInput must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for BinaryInput must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for BinaryInput must not be nil") + } + return &_BinaryInput{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, DeviceType: deviceType, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Polarity: polarity, InactiveText: inactiveText, ActiveText: activeText, ChangeOfStateTime: changeOfStateTime, ChangeOfStateCount: changeOfStateCount, TimeOfStateCountReset: timeOfStateCountReset, ElapsedActiveTime: elapsedActiveTime, TimeOfActiveTimeReset: timeOfActiveTimeReset, TimeDelay: timeDelay, NotificationClass: notificationClass, AlarmValue: alarmValue, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, InterfaceValue: interfaceValue, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// BinaryInputBuilder is a builder for BinaryInput +type BinaryInputBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, polarity ReadableProperty, inactiveText OptionalProperty, activeText OptionalProperty, changeOfStateTime OptionalProperty, changeOfStateCount OptionalProperty, timeOfStateCountReset OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BinaryInputBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) BinaryInputBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) BinaryInputBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) BinaryInputBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) BinaryInputBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) BinaryInputBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithDeviceType adds DeviceType (property field) + WithDeviceType(OptionalProperty) BinaryInputBuilder + // WithDeviceTypeBuilder adds DeviceType (property field) which is build by the builder + WithDeviceTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) BinaryInputBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) BinaryInputBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) BinaryInputBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) BinaryInputBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder + // WithPolarity adds Polarity (property field) + WithPolarity(ReadableProperty) BinaryInputBuilder + // WithPolarityBuilder adds Polarity (property field) which is build by the builder + WithPolarityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder + // WithInactiveText adds InactiveText (property field) + WithInactiveText(OptionalProperty) BinaryInputBuilder + // WithInactiveTextBuilder adds InactiveText (property field) which is build by the builder + WithInactiveTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithActiveText adds ActiveText (property field) + WithActiveText(OptionalProperty) BinaryInputBuilder + // WithActiveTextBuilder adds ActiveText (property field) which is build by the builder + WithActiveTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithChangeOfStateTime adds ChangeOfStateTime (property field) + WithChangeOfStateTime(OptionalProperty) BinaryInputBuilder + // WithChangeOfStateTimeBuilder adds ChangeOfStateTime (property field) which is build by the builder + WithChangeOfStateTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithChangeOfStateCount adds ChangeOfStateCount (property field) + WithChangeOfStateCount(OptionalProperty) BinaryInputBuilder + // WithChangeOfStateCountBuilder adds ChangeOfStateCount (property field) which is build by the builder + WithChangeOfStateCountBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithTimeOfStateCountReset adds TimeOfStateCountReset (property field) + WithTimeOfStateCountReset(OptionalProperty) BinaryInputBuilder + // WithTimeOfStateCountResetBuilder adds TimeOfStateCountReset (property field) which is build by the builder + WithTimeOfStateCountResetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithElapsedActiveTime adds ElapsedActiveTime (property field) + WithElapsedActiveTime(OptionalProperty) BinaryInputBuilder + // WithElapsedActiveTimeBuilder adds ElapsedActiveTime (property field) which is build by the builder + WithElapsedActiveTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithTimeOfActiveTimeReset adds TimeOfActiveTimeReset (property field) + WithTimeOfActiveTimeReset(OptionalProperty) BinaryInputBuilder + // WithTimeOfActiveTimeResetBuilder adds TimeOfActiveTimeReset (property field) which is build by the builder + WithTimeOfActiveTimeResetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) BinaryInputBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) BinaryInputBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithAlarmValue adds AlarmValue (property field) + WithAlarmValue(OptionalProperty) BinaryInputBuilder + // WithAlarmValueBuilder adds AlarmValue (property field) which is build by the builder + WithAlarmValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) BinaryInputBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) BinaryInputBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) BinaryInputBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) BinaryInputBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) BinaryInputBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) BinaryInputBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) BinaryInputBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) BinaryInputBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) BinaryInputBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) BinaryInputBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) BinaryInputBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) BinaryInputBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder + // WithInterfaceValue adds InterfaceValue (property field) + WithInterfaceValue(OptionalProperty) BinaryInputBuilder + // WithInterfaceValueBuilder adds InterfaceValue (property field) which is build by the builder + WithInterfaceValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) BinaryInputBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) BinaryInputBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) BinaryInputBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder + // Build builds the BinaryInput or returns an error if something is wrong + Build() (BinaryInput, error) + // MustBuild does the same as Build but panics on error + MustBuild() BinaryInput +} + +// NewBinaryInputBuilder() creates a BinaryInputBuilder +func NewBinaryInputBuilder() BinaryInputBuilder { + return &_BinaryInputBuilder{_BinaryInput: new(_BinaryInput)} +} + +type _BinaryInputBuilder struct { + *_BinaryInput + + err *utils.MultiError +} + +var _ (BinaryInputBuilder) = (*_BinaryInputBuilder)(nil) + +func (b *_BinaryInputBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, polarity ReadableProperty, inactiveText OptionalProperty, activeText OptionalProperty, changeOfStateTime OptionalProperty, changeOfStateCount OptionalProperty, timeOfStateCountReset OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BinaryInputBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithDeviceType(deviceType).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPolarity(polarity).WithInactiveText(inactiveText).WithActiveText(activeText).WithChangeOfStateTime(changeOfStateTime).WithChangeOfStateCount(changeOfStateCount).WithTimeOfStateCountReset(timeOfStateCountReset).WithElapsedActiveTime(elapsedActiveTime).WithTimeOfActiveTimeReset(timeOfActiveTimeReset).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithAlarmValue(alarmValue).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithInterfaceValue(interfaceValue).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_BinaryInputBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) BinaryInputBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_BinaryInputBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithObjectName(objectName ReadableProperty) BinaryInputBuilder { + b.ObjectName = objectName + return b +} + +func (b *_BinaryInputBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithObjectType(objectType ReadableProperty) BinaryInputBuilder { + b.ObjectType = objectType + return b +} + +func (b *_BinaryInputBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithPresentValue(presentValue ReadableProperty) BinaryInputBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_BinaryInputBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithDescription(description OptionalProperty) BinaryInputBuilder { + b.Description = description + return b +} + +func (b *_BinaryInputBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithDeviceType(deviceType OptionalProperty) BinaryInputBuilder { + b.DeviceType = deviceType + return b +} + +func (b *_BinaryInputBuilder) WithDeviceTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.DeviceType.CreateOptionalPropertyBuilder()) + var err error + b.DeviceType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithStatusFlags(statusFlags ReadableProperty) BinaryInputBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_BinaryInputBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithEventState(eventState ReadableProperty) BinaryInputBuilder { + b.EventState = eventState + return b +} + +func (b *_BinaryInputBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithReliability(reliability OptionalProperty) BinaryInputBuilder { + b.Reliability = reliability + return b +} + +func (b *_BinaryInputBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithOutOfService(outOfService ReadableProperty) BinaryInputBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_BinaryInputBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithPolarity(polarity ReadableProperty) BinaryInputBuilder { + b.Polarity = polarity + return b +} + +func (b *_BinaryInputBuilder) WithPolarityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.Polarity.CreateReadablePropertyBuilder()) + var err error + b.Polarity, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithInactiveText(inactiveText OptionalProperty) BinaryInputBuilder { + b.InactiveText = inactiveText + return b +} + +func (b *_BinaryInputBuilder) WithInactiveTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.InactiveText.CreateOptionalPropertyBuilder()) + var err error + b.InactiveText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithActiveText(activeText OptionalProperty) BinaryInputBuilder { + b.ActiveText = activeText + return b +} + +func (b *_BinaryInputBuilder) WithActiveTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ActiveText.CreateOptionalPropertyBuilder()) + var err error + b.ActiveText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithChangeOfStateTime(changeOfStateTime OptionalProperty) BinaryInputBuilder { + b.ChangeOfStateTime = changeOfStateTime + return b +} + +func (b *_BinaryInputBuilder) WithChangeOfStateTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ChangeOfStateTime.CreateOptionalPropertyBuilder()) + var err error + b.ChangeOfStateTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithChangeOfStateCount(changeOfStateCount OptionalProperty) BinaryInputBuilder { + b.ChangeOfStateCount = changeOfStateCount + return b +} + +func (b *_BinaryInputBuilder) WithChangeOfStateCountBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ChangeOfStateCount.CreateOptionalPropertyBuilder()) + var err error + b.ChangeOfStateCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithTimeOfStateCountReset(timeOfStateCountReset OptionalProperty) BinaryInputBuilder { + b.TimeOfStateCountReset = timeOfStateCountReset + return b +} + +func (b *_BinaryInputBuilder) WithTimeOfStateCountResetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.TimeOfStateCountReset.CreateOptionalPropertyBuilder()) + var err error + b.TimeOfStateCountReset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithElapsedActiveTime(elapsedActiveTime OptionalProperty) BinaryInputBuilder { + b.ElapsedActiveTime = elapsedActiveTime + return b +} + +func (b *_BinaryInputBuilder) WithElapsedActiveTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ElapsedActiveTime.CreateOptionalPropertyBuilder()) + var err error + b.ElapsedActiveTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithTimeOfActiveTimeReset(timeOfActiveTimeReset OptionalProperty) BinaryInputBuilder { + b.TimeOfActiveTimeReset = timeOfActiveTimeReset + return b +} + +func (b *_BinaryInputBuilder) WithTimeOfActiveTimeResetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.TimeOfActiveTimeReset.CreateOptionalPropertyBuilder()) + var err error + b.TimeOfActiveTimeReset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithTimeDelay(timeDelay OptionalProperty) BinaryInputBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_BinaryInputBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithNotificationClass(notificationClass OptionalProperty) BinaryInputBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_BinaryInputBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithAlarmValue(alarmValue OptionalProperty) BinaryInputBuilder { + b.AlarmValue = alarmValue + return b +} + +func (b *_BinaryInputBuilder) WithAlarmValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.AlarmValue.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithEventEnable(eventEnable OptionalProperty) BinaryInputBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_BinaryInputBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) BinaryInputBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_BinaryInputBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithNotifyType(notifyType OptionalProperty) BinaryInputBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_BinaryInputBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) BinaryInputBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_BinaryInputBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) BinaryInputBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_BinaryInputBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) BinaryInputBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_BinaryInputBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) BinaryInputBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_BinaryInputBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) BinaryInputBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_BinaryInputBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) BinaryInputBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_BinaryInputBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) BinaryInputBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_BinaryInputBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) BinaryInputBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_BinaryInputBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithPropertyList(propertyList ReadableProperty) BinaryInputBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_BinaryInputBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithInterfaceValue(interfaceValue OptionalProperty) BinaryInputBuilder { + b.InterfaceValue = interfaceValue + return b +} + +func (b *_BinaryInputBuilder) WithInterfaceValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.InterfaceValue.CreateOptionalPropertyBuilder()) + var err error + b.InterfaceValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithTags(tags OptionalProperty) BinaryInputBuilder { + b.Tags = tags + return b +} + +func (b *_BinaryInputBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithProfileLocation(profileLocation OptionalProperty) BinaryInputBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_BinaryInputBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) WithProfileName(profileName OptionalProperty) BinaryInputBuilder { + b.ProfileName = profileName + return b +} + +func (b *_BinaryInputBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryInputBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryInputBuilder) Build() (BinaryInput, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.DeviceType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceType' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Polarity == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'polarity' not set")) + } + if b.InactiveText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'inactiveText' not set")) + } + if b.ActiveText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'activeText' not set")) + } + if b.ChangeOfStateTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'changeOfStateTime' not set")) + } + if b.ChangeOfStateCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'changeOfStateCount' not set")) + } + if b.TimeOfStateCountReset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeOfStateCountReset' not set")) + } + if b.ElapsedActiveTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'elapsedActiveTime' not set")) + } + if b.TimeOfActiveTimeReset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeOfActiveTimeReset' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.AlarmValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValue' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.InterfaceValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'interfaceValue' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._BinaryInput.deepCopy(), nil +} + +func (b *_BinaryInputBuilder) MustBuild() BinaryInput { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_BinaryInputBuilder) DeepCopy() any { + _copy := b.CreateBinaryInputBuilder().(*_BinaryInputBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateBinaryInputBuilder creates a BinaryInputBuilder +func (b *_BinaryInput) CreateBinaryInputBuilder() BinaryInputBuilder { + if b == nil { + return NewBinaryInputBuilder() + } + return &_BinaryInputBuilder{_BinaryInput: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_BinaryInput) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_BinaryInput) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_BinaryInput) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_BinaryInput) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_BinaryInput) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_BinaryInput) GetDeviceType() OptionalProperty { + return m.DeviceType +} + +func (m *_BinaryInput) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_BinaryInput) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_BinaryInput) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_BinaryInput) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_BinaryInput) GetPolarity() ReadableProperty { + return m.Polarity +} + +func (m *_BinaryInput) GetInactiveText() OptionalProperty { + return m.InactiveText +} + +func (m *_BinaryInput) GetActiveText() OptionalProperty { + return m.ActiveText +} + +func (m *_BinaryInput) GetChangeOfStateTime() OptionalProperty { + return m.ChangeOfStateTime +} + +func (m *_BinaryInput) GetChangeOfStateCount() OptionalProperty { + return m.ChangeOfStateCount +} + +func (m *_BinaryInput) GetTimeOfStateCountReset() OptionalProperty { + return m.TimeOfStateCountReset +} + +func (m *_BinaryInput) GetElapsedActiveTime() OptionalProperty { + return m.ElapsedActiveTime +} + +func (m *_BinaryInput) GetTimeOfActiveTimeReset() OptionalProperty { + return m.TimeOfActiveTimeReset +} + +func (m *_BinaryInput) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_BinaryInput) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_BinaryInput) GetAlarmValue() OptionalProperty { + return m.AlarmValue +} + +func (m *_BinaryInput) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_BinaryInput) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_BinaryInput) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_BinaryInput) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_BinaryInput) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_BinaryInput) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_BinaryInput) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_BinaryInput) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_BinaryInput) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_BinaryInput) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_BinaryInput) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_BinaryInput) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_BinaryInput) GetInterfaceValue() OptionalProperty { + return m.InterfaceValue +} + +func (m *_BinaryInput) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_BinaryInput) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_BinaryInput) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastBinaryInput(structType any) BinaryInput { + if casted, ok := structType.(BinaryInput); ok { + return casted + } + if casted, ok := structType.(*BinaryInput); ok { + return *casted + } + return nil +} + +func (m *_BinaryInput) GetTypeName() string { + return "BinaryInput" +} + +func (m *_BinaryInput) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (deviceType) + lengthInBits += m.DeviceType.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (polarity) + lengthInBits += m.Polarity.GetLengthInBits(ctx) + + // Simple field (inactiveText) + lengthInBits += m.InactiveText.GetLengthInBits(ctx) + + // Simple field (activeText) + lengthInBits += m.ActiveText.GetLengthInBits(ctx) + + // Simple field (changeOfStateTime) + lengthInBits += m.ChangeOfStateTime.GetLengthInBits(ctx) + + // Simple field (changeOfStateCount) + lengthInBits += m.ChangeOfStateCount.GetLengthInBits(ctx) + + // Simple field (timeOfStateCountReset) + lengthInBits += m.TimeOfStateCountReset.GetLengthInBits(ctx) + + // Simple field (elapsedActiveTime) + lengthInBits += m.ElapsedActiveTime.GetLengthInBits(ctx) + + // Simple field (timeOfActiveTimeReset) + lengthInBits += m.TimeOfActiveTimeReset.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (alarmValue) + lengthInBits += m.AlarmValue.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (interfaceValue) + lengthInBits += m.InterfaceValue.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_BinaryInput) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func BinaryInputParse(ctx context.Context, theBytes []byte) (BinaryInput, error) { + return BinaryInputParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func BinaryInputParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryInput, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryInput, error) { + return BinaryInputParseWithBuffer(ctx, readBuffer) + } +} + +func BinaryInputParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryInput, error) { + v, err := (&_BinaryInput{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_BinaryInput) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__binaryInput BinaryInput, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("BinaryInput"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for BinaryInput") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + deviceType, err := ReadSimpleField[OptionalProperty](ctx, "deviceType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceType' field")) + } + m.DeviceType = deviceType + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + polarity, err := ReadSimpleField[ReadableProperty](ctx, "polarity", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetPolarity")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'polarity' field")) + } + m.Polarity = polarity + + inactiveText, err := ReadSimpleField[OptionalProperty](ctx, "inactiveText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'inactiveText' field")) + } + m.InactiveText = inactiveText + + activeText, err := ReadSimpleField[OptionalProperty](ctx, "activeText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'activeText' field")) + } + m.ActiveText = activeText + + changeOfStateTime, err := ReadSimpleField[OptionalProperty](ctx, "changeOfStateTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'changeOfStateTime' field")) + } + m.ChangeOfStateTime = changeOfStateTime + + changeOfStateCount, err := ReadSimpleField[OptionalProperty](ctx, "changeOfStateCount", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'changeOfStateCount' field")) + } + m.ChangeOfStateCount = changeOfStateCount + + timeOfStateCountReset, err := ReadSimpleField[OptionalProperty](ctx, "timeOfStateCountReset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeOfStateCountReset' field")) + } + m.TimeOfStateCountReset = timeOfStateCountReset + + elapsedActiveTime, err := ReadSimpleField[OptionalProperty](ctx, "elapsedActiveTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'elapsedActiveTime' field")) + } + m.ElapsedActiveTime = elapsedActiveTime + + timeOfActiveTimeReset, err := ReadSimpleField[OptionalProperty](ctx, "timeOfActiveTimeReset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeOfActiveTimeReset' field")) + } + m.TimeOfActiveTimeReset = timeOfActiveTimeReset + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + alarmValue, err := ReadSimpleField[OptionalProperty](ctx, "alarmValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValue' field")) + } + m.AlarmValue = alarmValue + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + interfaceValue, err := ReadSimpleField[OptionalProperty](ctx, "interfaceValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'interfaceValue' field")) + } + m.InterfaceValue = interfaceValue + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("BinaryInput"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for BinaryInput") + } + + return m, nil +} + +func (m *_BinaryInput) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_BinaryInput) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("BinaryInput"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for BinaryInput") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deviceType", m.GetDeviceType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "polarity", m.GetPolarity(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'polarity' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "inactiveText", m.GetInactiveText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'inactiveText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "activeText", m.GetActiveText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'activeText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "changeOfStateTime", m.GetChangeOfStateTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'changeOfStateTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "changeOfStateCount", m.GetChangeOfStateCount(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'changeOfStateCount' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeOfStateCountReset", m.GetTimeOfStateCountReset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeOfStateCountReset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "elapsedActiveTime", m.GetElapsedActiveTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'elapsedActiveTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeOfActiveTimeReset", m.GetTimeOfActiveTimeReset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeOfActiveTimeReset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValue", m.GetAlarmValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "interfaceValue", m.GetInterfaceValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'interfaceValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("BinaryInput"); popErr != nil { + return errors.Wrap(popErr, "Error popping for BinaryInput") + } + return nil +} + +func (m *_BinaryInput) IsBinaryInput() {} + +func (m *_BinaryInput) DeepCopy() any { + return m.deepCopy() +} + +func (m *_BinaryInput) deepCopy() *_BinaryInput { + if m == nil { + return nil + } + _BinaryInputCopy := &_BinaryInput{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.DeviceType.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.Polarity.DeepCopy().(ReadableProperty), + m.InactiveText.DeepCopy().(OptionalProperty), + m.ActiveText.DeepCopy().(OptionalProperty), + m.ChangeOfStateTime.DeepCopy().(OptionalProperty), + m.ChangeOfStateCount.DeepCopy().(OptionalProperty), + m.TimeOfStateCountReset.DeepCopy().(OptionalProperty), + m.ElapsedActiveTime.DeepCopy().(OptionalProperty), + m.TimeOfActiveTimeReset.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.AlarmValue.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.InterfaceValue.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _BinaryInputCopy +} + +func (m *_BinaryInput) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/BinaryLightingOutput.go b/plc4go/protocols/bacnetip/readwrite/model/BinaryLightingOutput.go new file mode 100644 index 00000000000..36658a500c1 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/BinaryLightingOutput.go @@ -0,0 +1,2224 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// BinaryLightingOutput is the corresponding interface of BinaryLightingOutput +type BinaryLightingOutput interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() WritableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetBlinkWarnEnable returns BlinkWarnEnable (property field) + GetBlinkWarnEnable() ReadableProperty + // GetEgressTime returns EgressTime (property field) + GetEgressTime() ReadableProperty + // GetEgressActive returns EgressActive (property field) + GetEgressActive() ReadableProperty + // GetFeedbackValue returns FeedbackValue (property field) + GetFeedbackValue() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() ReadableProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() ReadableProperty + // GetPower returns Power (property field) + GetPower() OptionalProperty + // GetPolarity returns Polarity (property field) + GetPolarity() OptionalProperty + // GetElapsedActiveTime returns ElapsedActiveTime (property field) + GetElapsedActiveTime() OptionalProperty + // GetTimeOfActiveTimeReset returns TimeOfActiveTimeReset (property field) + GetTimeOfActiveTimeReset() OptionalProperty + // GetStrikeCount returns StrikeCount (property field) + GetStrikeCount() OptionalProperty + // GetTimeOfStrikeCountReset returns TimeOfStrikeCountReset (property field) + GetTimeOfStrikeCountReset() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsBinaryLightingOutput is a marker method to prevent unintentional type checks (interfaces of same signature) + IsBinaryLightingOutput() + // CreateBuilder creates a BinaryLightingOutputBuilder + CreateBinaryLightingOutputBuilder() BinaryLightingOutputBuilder +} + +// _BinaryLightingOutput is the data-structure of this message +type _BinaryLightingOutput struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue WritableProperty + Description OptionalProperty + StatusFlags ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + BlinkWarnEnable ReadableProperty + EgressTime ReadableProperty + EgressActive ReadableProperty + FeedbackValue OptionalProperty + PriorityArray ReadableProperty + RelinquishDefault ReadableProperty + Power OptionalProperty + Polarity OptionalProperty + ElapsedActiveTime OptionalProperty + TimeOfActiveTimeReset OptionalProperty + StrikeCount OptionalProperty + TimeOfStrikeCountReset OptionalProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + CurrentCommandPriority ReadableProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ BinaryLightingOutput = (*_BinaryLightingOutput)(nil) + +// NewBinaryLightingOutput factory function for _BinaryLightingOutput +func NewBinaryLightingOutput(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, blinkWarnEnable ReadableProperty, egressTime ReadableProperty, egressActive ReadableProperty, feedbackValue OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, power OptionalProperty, polarity OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, strikeCount OptionalProperty, timeOfStrikeCountReset OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_BinaryLightingOutput { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if presentValue == nil { + panic("presentValue of type WritableProperty for BinaryLightingOutput must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if blinkWarnEnable == nil { + panic("blinkWarnEnable of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if egressTime == nil { + panic("egressTime of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if egressActive == nil { + panic("egressActive of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if feedbackValue == nil { + panic("feedbackValue of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if power == nil { + panic("power of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if polarity == nil { + panic("polarity of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if elapsedActiveTime == nil { + panic("elapsedActiveTime of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if timeOfActiveTimeReset == nil { + panic("timeOfActiveTimeReset of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if strikeCount == nil { + panic("strikeCount of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if timeOfStrikeCountReset == nil { + panic("timeOfStrikeCountReset of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type ReadableProperty for BinaryLightingOutput must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for BinaryLightingOutput must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for BinaryLightingOutput must not be nil") + } + return &_BinaryLightingOutput{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, StatusFlags: statusFlags, Reliability: reliability, OutOfService: outOfService, BlinkWarnEnable: blinkWarnEnable, EgressTime: egressTime, EgressActive: egressActive, FeedbackValue: feedbackValue, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, Power: power, Polarity: polarity, ElapsedActiveTime: elapsedActiveTime, TimeOfActiveTimeReset: timeOfActiveTimeReset, StrikeCount: strikeCount, TimeOfStrikeCountReset: timeOfStrikeCountReset, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// BinaryLightingOutputBuilder is a builder for BinaryLightingOutput +type BinaryLightingOutputBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, blinkWarnEnable ReadableProperty, egressTime ReadableProperty, egressActive ReadableProperty, feedbackValue OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, power OptionalProperty, polarity OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, strikeCount OptionalProperty, timeOfStrikeCountReset OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BinaryLightingOutputBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) BinaryLightingOutputBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) BinaryLightingOutputBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) BinaryLightingOutputBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(WritableProperty) BinaryLightingOutputBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) BinaryLightingOutputBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) BinaryLightingOutputBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) BinaryLightingOutputBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) BinaryLightingOutputBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) BinaryLightingOutputBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithBlinkWarnEnable adds BlinkWarnEnable (property field) + WithBlinkWarnEnable(ReadableProperty) BinaryLightingOutputBuilder + // WithBlinkWarnEnableBuilder adds BlinkWarnEnable (property field) which is build by the builder + WithBlinkWarnEnableBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithEgressTime adds EgressTime (property field) + WithEgressTime(ReadableProperty) BinaryLightingOutputBuilder + // WithEgressTimeBuilder adds EgressTime (property field) which is build by the builder + WithEgressTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithEgressActive adds EgressActive (property field) + WithEgressActive(ReadableProperty) BinaryLightingOutputBuilder + // WithEgressActiveBuilder adds EgressActive (property field) which is build by the builder + WithEgressActiveBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithFeedbackValue adds FeedbackValue (property field) + WithFeedbackValue(OptionalProperty) BinaryLightingOutputBuilder + // WithFeedbackValueBuilder adds FeedbackValue (property field) which is build by the builder + WithFeedbackValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(ReadableProperty) BinaryLightingOutputBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(ReadableProperty) BinaryLightingOutputBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithPower adds Power (property field) + WithPower(OptionalProperty) BinaryLightingOutputBuilder + // WithPowerBuilder adds Power (property field) which is build by the builder + WithPowerBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithPolarity adds Polarity (property field) + WithPolarity(OptionalProperty) BinaryLightingOutputBuilder + // WithPolarityBuilder adds Polarity (property field) which is build by the builder + WithPolarityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithElapsedActiveTime adds ElapsedActiveTime (property field) + WithElapsedActiveTime(OptionalProperty) BinaryLightingOutputBuilder + // WithElapsedActiveTimeBuilder adds ElapsedActiveTime (property field) which is build by the builder + WithElapsedActiveTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithTimeOfActiveTimeReset adds TimeOfActiveTimeReset (property field) + WithTimeOfActiveTimeReset(OptionalProperty) BinaryLightingOutputBuilder + // WithTimeOfActiveTimeResetBuilder adds TimeOfActiveTimeReset (property field) which is build by the builder + WithTimeOfActiveTimeResetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithStrikeCount adds StrikeCount (property field) + WithStrikeCount(OptionalProperty) BinaryLightingOutputBuilder + // WithStrikeCountBuilder adds StrikeCount (property field) which is build by the builder + WithStrikeCountBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithTimeOfStrikeCountReset adds TimeOfStrikeCountReset (property field) + WithTimeOfStrikeCountReset(OptionalProperty) BinaryLightingOutputBuilder + // WithTimeOfStrikeCountResetBuilder adds TimeOfStrikeCountReset (property field) which is build by the builder + WithTimeOfStrikeCountResetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) BinaryLightingOutputBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) BinaryLightingOutputBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) BinaryLightingOutputBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) BinaryLightingOutputBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) BinaryLightingOutputBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) BinaryLightingOutputBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) BinaryLightingOutputBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) BinaryLightingOutputBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) BinaryLightingOutputBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) BinaryLightingOutputBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(ReadableProperty) BinaryLightingOutputBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) BinaryLightingOutputBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) BinaryLightingOutputBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) BinaryLightingOutputBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) BinaryLightingOutputBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) BinaryLightingOutputBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) BinaryLightingOutputBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) BinaryLightingOutputBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder + // Build builds the BinaryLightingOutput or returns an error if something is wrong + Build() (BinaryLightingOutput, error) + // MustBuild does the same as Build but panics on error + MustBuild() BinaryLightingOutput +} + +// NewBinaryLightingOutputBuilder() creates a BinaryLightingOutputBuilder +func NewBinaryLightingOutputBuilder() BinaryLightingOutputBuilder { + return &_BinaryLightingOutputBuilder{_BinaryLightingOutput: new(_BinaryLightingOutput)} +} + +type _BinaryLightingOutputBuilder struct { + *_BinaryLightingOutput + + err *utils.MultiError +} + +var _ (BinaryLightingOutputBuilder) = (*_BinaryLightingOutputBuilder)(nil) + +func (b *_BinaryLightingOutputBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, blinkWarnEnable ReadableProperty, egressTime ReadableProperty, egressActive ReadableProperty, feedbackValue OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, power OptionalProperty, polarity OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, strikeCount OptionalProperty, timeOfStrikeCountReset OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BinaryLightingOutputBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithStatusFlags(statusFlags).WithReliability(reliability).WithOutOfService(outOfService).WithBlinkWarnEnable(blinkWarnEnable).WithEgressTime(egressTime).WithEgressActive(egressActive).WithFeedbackValue(feedbackValue).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithPower(power).WithPolarity(polarity).WithElapsedActiveTime(elapsedActiveTime).WithTimeOfActiveTimeReset(timeOfActiveTimeReset).WithStrikeCount(strikeCount).WithTimeOfStrikeCountReset(timeOfStrikeCountReset).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_BinaryLightingOutputBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) BinaryLightingOutputBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_BinaryLightingOutputBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithObjectName(objectName ReadableProperty) BinaryLightingOutputBuilder { + b.ObjectName = objectName + return b +} + +func (b *_BinaryLightingOutputBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithObjectType(objectType ReadableProperty) BinaryLightingOutputBuilder { + b.ObjectType = objectType + return b +} + +func (b *_BinaryLightingOutputBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPresentValue(presentValue WritableProperty) BinaryLightingOutputBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPresentValueBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.PresentValue.CreateWritablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithDescription(description OptionalProperty) BinaryLightingOutputBuilder { + b.Description = description + return b +} + +func (b *_BinaryLightingOutputBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithStatusFlags(statusFlags ReadableProperty) BinaryLightingOutputBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_BinaryLightingOutputBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithReliability(reliability OptionalProperty) BinaryLightingOutputBuilder { + b.Reliability = reliability + return b +} + +func (b *_BinaryLightingOutputBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithOutOfService(outOfService ReadableProperty) BinaryLightingOutputBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_BinaryLightingOutputBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithBlinkWarnEnable(blinkWarnEnable ReadableProperty) BinaryLightingOutputBuilder { + b.BlinkWarnEnable = blinkWarnEnable + return b +} + +func (b *_BinaryLightingOutputBuilder) WithBlinkWarnEnableBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.BlinkWarnEnable.CreateReadablePropertyBuilder()) + var err error + b.BlinkWarnEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEgressTime(egressTime ReadableProperty) BinaryLightingOutputBuilder { + b.EgressTime = egressTime + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEgressTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.EgressTime.CreateReadablePropertyBuilder()) + var err error + b.EgressTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEgressActive(egressActive ReadableProperty) BinaryLightingOutputBuilder { + b.EgressActive = egressActive + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEgressActiveBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.EgressActive.CreateReadablePropertyBuilder()) + var err error + b.EgressActive, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithFeedbackValue(feedbackValue OptionalProperty) BinaryLightingOutputBuilder { + b.FeedbackValue = feedbackValue + return b +} + +func (b *_BinaryLightingOutputBuilder) WithFeedbackValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.FeedbackValue.CreateOptionalPropertyBuilder()) + var err error + b.FeedbackValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPriorityArray(priorityArray ReadableProperty) BinaryLightingOutputBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPriorityArrayBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.PriorityArray.CreateReadablePropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithRelinquishDefault(relinquishDefault ReadableProperty) BinaryLightingOutputBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_BinaryLightingOutputBuilder) WithRelinquishDefaultBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateReadablePropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPower(power OptionalProperty) BinaryLightingOutputBuilder { + b.Power = power + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPowerBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.Power.CreateOptionalPropertyBuilder()) + var err error + b.Power, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPolarity(polarity OptionalProperty) BinaryLightingOutputBuilder { + b.Polarity = polarity + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPolarityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.Polarity.CreateOptionalPropertyBuilder()) + var err error + b.Polarity, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithElapsedActiveTime(elapsedActiveTime OptionalProperty) BinaryLightingOutputBuilder { + b.ElapsedActiveTime = elapsedActiveTime + return b +} + +func (b *_BinaryLightingOutputBuilder) WithElapsedActiveTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.ElapsedActiveTime.CreateOptionalPropertyBuilder()) + var err error + b.ElapsedActiveTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithTimeOfActiveTimeReset(timeOfActiveTimeReset OptionalProperty) BinaryLightingOutputBuilder { + b.TimeOfActiveTimeReset = timeOfActiveTimeReset + return b +} + +func (b *_BinaryLightingOutputBuilder) WithTimeOfActiveTimeResetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.TimeOfActiveTimeReset.CreateOptionalPropertyBuilder()) + var err error + b.TimeOfActiveTimeReset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithStrikeCount(strikeCount OptionalProperty) BinaryLightingOutputBuilder { + b.StrikeCount = strikeCount + return b +} + +func (b *_BinaryLightingOutputBuilder) WithStrikeCountBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.StrikeCount.CreateOptionalPropertyBuilder()) + var err error + b.StrikeCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithTimeOfStrikeCountReset(timeOfStrikeCountReset OptionalProperty) BinaryLightingOutputBuilder { + b.TimeOfStrikeCountReset = timeOfStrikeCountReset + return b +} + +func (b *_BinaryLightingOutputBuilder) WithTimeOfStrikeCountResetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.TimeOfStrikeCountReset.CreateOptionalPropertyBuilder()) + var err error + b.TimeOfStrikeCountReset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) BinaryLightingOutputBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithNotificationClass(notificationClass OptionalProperty) BinaryLightingOutputBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_BinaryLightingOutputBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventEnable(eventEnable OptionalProperty) BinaryLightingOutputBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) BinaryLightingOutputBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_BinaryLightingOutputBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithNotifyType(notifyType OptionalProperty) BinaryLightingOutputBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_BinaryLightingOutputBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) BinaryLightingOutputBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) BinaryLightingOutputBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) BinaryLightingOutputBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_BinaryLightingOutputBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) BinaryLightingOutputBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_BinaryLightingOutputBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPropertyList(propertyList ReadableProperty) BinaryLightingOutputBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_BinaryLightingOutputBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithCurrentCommandPriority(currentCommandPriority ReadableProperty) BinaryLightingOutputBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_BinaryLightingOutputBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateReadablePropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithValueSource(valueSource OptionalProperty) BinaryLightingOutputBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_BinaryLightingOutputBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) BinaryLightingOutputBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_BinaryLightingOutputBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) BinaryLightingOutputBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_BinaryLightingOutputBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) BinaryLightingOutputBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_BinaryLightingOutputBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithTags(tags OptionalProperty) BinaryLightingOutputBuilder { + b.Tags = tags + return b +} + +func (b *_BinaryLightingOutputBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithProfileLocation(profileLocation OptionalProperty) BinaryLightingOutputBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_BinaryLightingOutputBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) WithProfileName(profileName OptionalProperty) BinaryLightingOutputBuilder { + b.ProfileName = profileName + return b +} + +func (b *_BinaryLightingOutputBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryLightingOutputBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryLightingOutputBuilder) Build() (BinaryLightingOutput, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.BlinkWarnEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'blinkWarnEnable' not set")) + } + if b.EgressTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'egressTime' not set")) + } + if b.EgressActive == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'egressActive' not set")) + } + if b.FeedbackValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'feedbackValue' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.Power == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'power' not set")) + } + if b.Polarity == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'polarity' not set")) + } + if b.ElapsedActiveTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'elapsedActiveTime' not set")) + } + if b.TimeOfActiveTimeReset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeOfActiveTimeReset' not set")) + } + if b.StrikeCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'strikeCount' not set")) + } + if b.TimeOfStrikeCountReset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeOfStrikeCountReset' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._BinaryLightingOutput.deepCopy(), nil +} + +func (b *_BinaryLightingOutputBuilder) MustBuild() BinaryLightingOutput { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_BinaryLightingOutputBuilder) DeepCopy() any { + _copy := b.CreateBinaryLightingOutputBuilder().(*_BinaryLightingOutputBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateBinaryLightingOutputBuilder creates a BinaryLightingOutputBuilder +func (b *_BinaryLightingOutput) CreateBinaryLightingOutputBuilder() BinaryLightingOutputBuilder { + if b == nil { + return NewBinaryLightingOutputBuilder() + } + return &_BinaryLightingOutputBuilder{_BinaryLightingOutput: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_BinaryLightingOutput) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_BinaryLightingOutput) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_BinaryLightingOutput) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_BinaryLightingOutput) GetPresentValue() WritableProperty { + return m.PresentValue +} + +func (m *_BinaryLightingOutput) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_BinaryLightingOutput) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_BinaryLightingOutput) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_BinaryLightingOutput) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_BinaryLightingOutput) GetBlinkWarnEnable() ReadableProperty { + return m.BlinkWarnEnable +} + +func (m *_BinaryLightingOutput) GetEgressTime() ReadableProperty { + return m.EgressTime +} + +func (m *_BinaryLightingOutput) GetEgressActive() ReadableProperty { + return m.EgressActive +} + +func (m *_BinaryLightingOutput) GetFeedbackValue() OptionalProperty { + return m.FeedbackValue +} + +func (m *_BinaryLightingOutput) GetPriorityArray() ReadableProperty { + return m.PriorityArray +} + +func (m *_BinaryLightingOutput) GetRelinquishDefault() ReadableProperty { + return m.RelinquishDefault +} + +func (m *_BinaryLightingOutput) GetPower() OptionalProperty { + return m.Power +} + +func (m *_BinaryLightingOutput) GetPolarity() OptionalProperty { + return m.Polarity +} + +func (m *_BinaryLightingOutput) GetElapsedActiveTime() OptionalProperty { + return m.ElapsedActiveTime +} + +func (m *_BinaryLightingOutput) GetTimeOfActiveTimeReset() OptionalProperty { + return m.TimeOfActiveTimeReset +} + +func (m *_BinaryLightingOutput) GetStrikeCount() OptionalProperty { + return m.StrikeCount +} + +func (m *_BinaryLightingOutput) GetTimeOfStrikeCountReset() OptionalProperty { + return m.TimeOfStrikeCountReset +} + +func (m *_BinaryLightingOutput) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_BinaryLightingOutput) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_BinaryLightingOutput) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_BinaryLightingOutput) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_BinaryLightingOutput) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_BinaryLightingOutput) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_BinaryLightingOutput) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_BinaryLightingOutput) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_BinaryLightingOutput) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_BinaryLightingOutput) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_BinaryLightingOutput) GetCurrentCommandPriority() ReadableProperty { + return m.CurrentCommandPriority +} + +func (m *_BinaryLightingOutput) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_BinaryLightingOutput) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_BinaryLightingOutput) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_BinaryLightingOutput) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_BinaryLightingOutput) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_BinaryLightingOutput) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_BinaryLightingOutput) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastBinaryLightingOutput(structType any) BinaryLightingOutput { + if casted, ok := structType.(BinaryLightingOutput); ok { + return casted + } + if casted, ok := structType.(*BinaryLightingOutput); ok { + return *casted + } + return nil +} + +func (m *_BinaryLightingOutput) GetTypeName() string { + return "BinaryLightingOutput" +} + +func (m *_BinaryLightingOutput) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (blinkWarnEnable) + lengthInBits += m.BlinkWarnEnable.GetLengthInBits(ctx) + + // Simple field (egressTime) + lengthInBits += m.EgressTime.GetLengthInBits(ctx) + + // Simple field (egressActive) + lengthInBits += m.EgressActive.GetLengthInBits(ctx) + + // Simple field (feedbackValue) + lengthInBits += m.FeedbackValue.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (power) + lengthInBits += m.Power.GetLengthInBits(ctx) + + // Simple field (polarity) + lengthInBits += m.Polarity.GetLengthInBits(ctx) + + // Simple field (elapsedActiveTime) + lengthInBits += m.ElapsedActiveTime.GetLengthInBits(ctx) + + // Simple field (timeOfActiveTimeReset) + lengthInBits += m.TimeOfActiveTimeReset.GetLengthInBits(ctx) + + // Simple field (strikeCount) + lengthInBits += m.StrikeCount.GetLengthInBits(ctx) + + // Simple field (timeOfStrikeCountReset) + lengthInBits += m.TimeOfStrikeCountReset.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_BinaryLightingOutput) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func BinaryLightingOutputParse(ctx context.Context, theBytes []byte) (BinaryLightingOutput, error) { + return BinaryLightingOutputParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func BinaryLightingOutputParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryLightingOutput, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryLightingOutput, error) { + return BinaryLightingOutputParseWithBuffer(ctx, readBuffer) + } +} + +func BinaryLightingOutputParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryLightingOutput, error) { + v, err := (&_BinaryLightingOutput{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_BinaryLightingOutput) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__binaryLightingOutput BinaryLightingOutput, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("BinaryLightingOutput"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for BinaryLightingOutput") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[WritableProperty](ctx, "presentValue", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetBinaryLightingPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + blinkWarnEnable, err := ReadSimpleField[ReadableProperty](ctx, "blinkWarnEnable", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'blinkWarnEnable' field")) + } + m.BlinkWarnEnable = blinkWarnEnable + + egressTime, err := ReadSimpleField[ReadableProperty](ctx, "egressTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'egressTime' field")) + } + m.EgressTime = egressTime + + egressActive, err := ReadSimpleField[ReadableProperty](ctx, "egressActive", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'egressActive' field")) + } + m.EgressActive = egressActive + + feedbackValue, err := ReadSimpleField[OptionalProperty](ctx, "feedbackValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetBinaryLightingPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'feedbackValue' field")) + } + m.FeedbackValue = feedbackValue + + priorityArray, err := ReadSimpleField[ReadableProperty](ctx, "priorityArray", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[ReadableProperty](ctx, "relinquishDefault", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetBinaryLightingPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + power, err := ReadSimpleField[OptionalProperty](ctx, "power", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'power' field")) + } + m.Power = power + + polarity, err := ReadSimpleField[OptionalProperty](ctx, "polarity", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPolarity")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'polarity' field")) + } + m.Polarity = polarity + + elapsedActiveTime, err := ReadSimpleField[OptionalProperty](ctx, "elapsedActiveTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'elapsedActiveTime' field")) + } + m.ElapsedActiveTime = elapsedActiveTime + + timeOfActiveTimeReset, err := ReadSimpleField[OptionalProperty](ctx, "timeOfActiveTimeReset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeOfActiveTimeReset' field")) + } + m.TimeOfActiveTimeReset = timeOfActiveTimeReset + + strikeCount, err := ReadSimpleField[OptionalProperty](ctx, "strikeCount", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'strikeCount' field")) + } + m.StrikeCount = strikeCount + + timeOfStrikeCountReset, err := ReadSimpleField[OptionalProperty](ctx, "timeOfStrikeCountReset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeOfStrikeCountReset' field")) + } + m.TimeOfStrikeCountReset = timeOfStrikeCountReset + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + currentCommandPriority, err := ReadSimpleField[ReadableProperty](ctx, "currentCommandPriority", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("BinaryLightingOutput"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for BinaryLightingOutput") + } + + return m, nil +} + +func (m *_BinaryLightingOutput) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_BinaryLightingOutput) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("BinaryLightingOutput"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for BinaryLightingOutput") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "blinkWarnEnable", m.GetBlinkWarnEnable(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'blinkWarnEnable' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "egressTime", m.GetEgressTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'egressTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "egressActive", m.GetEgressActive(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'egressActive' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "feedbackValue", m.GetFeedbackValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'feedbackValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "power", m.GetPower(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'power' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "polarity", m.GetPolarity(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'polarity' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "elapsedActiveTime", m.GetElapsedActiveTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'elapsedActiveTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeOfActiveTimeReset", m.GetTimeOfActiveTimeReset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeOfActiveTimeReset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "strikeCount", m.GetStrikeCount(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'strikeCount' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeOfStrikeCountReset", m.GetTimeOfStrikeCountReset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeOfStrikeCountReset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("BinaryLightingOutput"); popErr != nil { + return errors.Wrap(popErr, "Error popping for BinaryLightingOutput") + } + return nil +} + +func (m *_BinaryLightingOutput) IsBinaryLightingOutput() {} + +func (m *_BinaryLightingOutput) DeepCopy() any { + return m.deepCopy() +} + +func (m *_BinaryLightingOutput) deepCopy() *_BinaryLightingOutput { + if m == nil { + return nil + } + _BinaryLightingOutputCopy := &_BinaryLightingOutput{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(WritableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.BlinkWarnEnable.DeepCopy().(ReadableProperty), + m.EgressTime.DeepCopy().(ReadableProperty), + m.EgressActive.DeepCopy().(ReadableProperty), + m.FeedbackValue.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(ReadableProperty), + m.RelinquishDefault.DeepCopy().(ReadableProperty), + m.Power.DeepCopy().(OptionalProperty), + m.Polarity.DeepCopy().(OptionalProperty), + m.ElapsedActiveTime.DeepCopy().(OptionalProperty), + m.TimeOfActiveTimeReset.DeepCopy().(OptionalProperty), + m.StrikeCount.DeepCopy().(OptionalProperty), + m.TimeOfStrikeCountReset.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.CurrentCommandPriority.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _BinaryLightingOutputCopy +} + +func (m *_BinaryLightingOutput) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/BinaryOutput.go b/plc4go/protocols/bacnetip/readwrite/model/BinaryOutput.go new file mode 100644 index 00000000000..5e3d03fca1b --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/BinaryOutput.go @@ -0,0 +1,2640 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// BinaryOutput is the corresponding interface of BinaryOutput +type BinaryOutput interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() WritableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetDeviceType returns DeviceType (property field) + GetDeviceType() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetPolarity returns Polarity (property field) + GetPolarity() ReadableProperty + // GetInactiveText returns InactiveText (property field) + GetInactiveText() OptionalProperty + // GetActiveText returns ActiveText (property field) + GetActiveText() OptionalProperty + // GetChangeOfStateTime returns ChangeOfStateTime (property field) + GetChangeOfStateTime() OptionalProperty + // GetChangeOfStateCount returns ChangeOfStateCount (property field) + GetChangeOfStateCount() OptionalProperty + // GetTimeOfStateCountReset returns TimeOfStateCountReset (property field) + GetTimeOfStateCountReset() OptionalProperty + // GetElapsedActiveTime returns ElapsedActiveTime (property field) + GetElapsedActiveTime() OptionalProperty + // GetTimeOfActiveTimeReset returns TimeOfActiveTimeReset (property field) + GetTimeOfActiveTimeReset() OptionalProperty + // GetMinimumOffTime returns MinimumOffTime (property field) + GetMinimumOffTime() OptionalProperty + // GetMinimumOnTime returns MinimumOnTime (property field) + GetMinimumOnTime() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() ReadableProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() ReadableProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetFeedbackValue returns FeedbackValue (property field) + GetFeedbackValue() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetInterfaceValue returns InterfaceValue (property field) + GetInterfaceValue() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsBinaryOutput is a marker method to prevent unintentional type checks (interfaces of same signature) + IsBinaryOutput() + // CreateBuilder creates a BinaryOutputBuilder + CreateBinaryOutputBuilder() BinaryOutputBuilder +} + +// _BinaryOutput is the data-structure of this message +type _BinaryOutput struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue WritableProperty + Description OptionalProperty + DeviceType OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + Polarity ReadableProperty + InactiveText OptionalProperty + ActiveText OptionalProperty + ChangeOfStateTime OptionalProperty + ChangeOfStateCount OptionalProperty + TimeOfStateCountReset OptionalProperty + ElapsedActiveTime OptionalProperty + TimeOfActiveTimeReset OptionalProperty + MinimumOffTime OptionalProperty + MinimumOnTime OptionalProperty + PriorityArray ReadableProperty + RelinquishDefault ReadableProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + FeedbackValue OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + InterfaceValue OptionalProperty + CurrentCommandPriority ReadableProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ BinaryOutput = (*_BinaryOutput)(nil) + +// NewBinaryOutput factory function for _BinaryOutput +func NewBinaryOutput(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, polarity ReadableProperty, inactiveText OptionalProperty, activeText OptionalProperty, changeOfStateTime OptionalProperty, changeOfStateCount OptionalProperty, timeOfStateCountReset OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, minimumOffTime OptionalProperty, minimumOnTime OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, feedbackValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_BinaryOutput { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for BinaryOutput must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for BinaryOutput must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for BinaryOutput must not be nil") + } + if presentValue == nil { + panic("presentValue of type WritableProperty for BinaryOutput must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for BinaryOutput must not be nil") + } + if deviceType == nil { + panic("deviceType of type OptionalProperty for BinaryOutput must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for BinaryOutput must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for BinaryOutput must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for BinaryOutput must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for BinaryOutput must not be nil") + } + if polarity == nil { + panic("polarity of type ReadableProperty for BinaryOutput must not be nil") + } + if inactiveText == nil { + panic("inactiveText of type OptionalProperty for BinaryOutput must not be nil") + } + if activeText == nil { + panic("activeText of type OptionalProperty for BinaryOutput must not be nil") + } + if changeOfStateTime == nil { + panic("changeOfStateTime of type OptionalProperty for BinaryOutput must not be nil") + } + if changeOfStateCount == nil { + panic("changeOfStateCount of type OptionalProperty for BinaryOutput must not be nil") + } + if timeOfStateCountReset == nil { + panic("timeOfStateCountReset of type OptionalProperty for BinaryOutput must not be nil") + } + if elapsedActiveTime == nil { + panic("elapsedActiveTime of type OptionalProperty for BinaryOutput must not be nil") + } + if timeOfActiveTimeReset == nil { + panic("timeOfActiveTimeReset of type OptionalProperty for BinaryOutput must not be nil") + } + if minimumOffTime == nil { + panic("minimumOffTime of type OptionalProperty for BinaryOutput must not be nil") + } + if minimumOnTime == nil { + panic("minimumOnTime of type OptionalProperty for BinaryOutput must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type ReadableProperty for BinaryOutput must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type ReadableProperty for BinaryOutput must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for BinaryOutput must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for BinaryOutput must not be nil") + } + if feedbackValue == nil { + panic("feedbackValue of type OptionalProperty for BinaryOutput must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for BinaryOutput must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for BinaryOutput must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for BinaryOutput must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for BinaryOutput must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for BinaryOutput must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for BinaryOutput must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for BinaryOutput must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for BinaryOutput must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for BinaryOutput must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for BinaryOutput must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for BinaryOutput must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for BinaryOutput must not be nil") + } + if interfaceValue == nil { + panic("interfaceValue of type OptionalProperty for BinaryOutput must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type ReadableProperty for BinaryOutput must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for BinaryOutput must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for BinaryOutput must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for BinaryOutput must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for BinaryOutput must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for BinaryOutput must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for BinaryOutput must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for BinaryOutput must not be nil") + } + return &_BinaryOutput{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, DeviceType: deviceType, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Polarity: polarity, InactiveText: inactiveText, ActiveText: activeText, ChangeOfStateTime: changeOfStateTime, ChangeOfStateCount: changeOfStateCount, TimeOfStateCountReset: timeOfStateCountReset, ElapsedActiveTime: elapsedActiveTime, TimeOfActiveTimeReset: timeOfActiveTimeReset, MinimumOffTime: minimumOffTime, MinimumOnTime: minimumOnTime, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, TimeDelay: timeDelay, NotificationClass: notificationClass, FeedbackValue: feedbackValue, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, InterfaceValue: interfaceValue, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// BinaryOutputBuilder is a builder for BinaryOutput +type BinaryOutputBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, polarity ReadableProperty, inactiveText OptionalProperty, activeText OptionalProperty, changeOfStateTime OptionalProperty, changeOfStateCount OptionalProperty, timeOfStateCountReset OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, minimumOffTime OptionalProperty, minimumOnTime OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, feedbackValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BinaryOutputBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) BinaryOutputBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) BinaryOutputBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) BinaryOutputBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(WritableProperty) BinaryOutputBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) BinaryOutputBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) BinaryOutputBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithDeviceType adds DeviceType (property field) + WithDeviceType(OptionalProperty) BinaryOutputBuilder + // WithDeviceTypeBuilder adds DeviceType (property field) which is build by the builder + WithDeviceTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) BinaryOutputBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) BinaryOutputBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) BinaryOutputBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) BinaryOutputBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithPolarity adds Polarity (property field) + WithPolarity(ReadableProperty) BinaryOutputBuilder + // WithPolarityBuilder adds Polarity (property field) which is build by the builder + WithPolarityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithInactiveText adds InactiveText (property field) + WithInactiveText(OptionalProperty) BinaryOutputBuilder + // WithInactiveTextBuilder adds InactiveText (property field) which is build by the builder + WithInactiveTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithActiveText adds ActiveText (property field) + WithActiveText(OptionalProperty) BinaryOutputBuilder + // WithActiveTextBuilder adds ActiveText (property field) which is build by the builder + WithActiveTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithChangeOfStateTime adds ChangeOfStateTime (property field) + WithChangeOfStateTime(OptionalProperty) BinaryOutputBuilder + // WithChangeOfStateTimeBuilder adds ChangeOfStateTime (property field) which is build by the builder + WithChangeOfStateTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithChangeOfStateCount adds ChangeOfStateCount (property field) + WithChangeOfStateCount(OptionalProperty) BinaryOutputBuilder + // WithChangeOfStateCountBuilder adds ChangeOfStateCount (property field) which is build by the builder + WithChangeOfStateCountBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithTimeOfStateCountReset adds TimeOfStateCountReset (property field) + WithTimeOfStateCountReset(OptionalProperty) BinaryOutputBuilder + // WithTimeOfStateCountResetBuilder adds TimeOfStateCountReset (property field) which is build by the builder + WithTimeOfStateCountResetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithElapsedActiveTime adds ElapsedActiveTime (property field) + WithElapsedActiveTime(OptionalProperty) BinaryOutputBuilder + // WithElapsedActiveTimeBuilder adds ElapsedActiveTime (property field) which is build by the builder + WithElapsedActiveTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithTimeOfActiveTimeReset adds TimeOfActiveTimeReset (property field) + WithTimeOfActiveTimeReset(OptionalProperty) BinaryOutputBuilder + // WithTimeOfActiveTimeResetBuilder adds TimeOfActiveTimeReset (property field) which is build by the builder + WithTimeOfActiveTimeResetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithMinimumOffTime adds MinimumOffTime (property field) + WithMinimumOffTime(OptionalProperty) BinaryOutputBuilder + // WithMinimumOffTimeBuilder adds MinimumOffTime (property field) which is build by the builder + WithMinimumOffTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithMinimumOnTime adds MinimumOnTime (property field) + WithMinimumOnTime(OptionalProperty) BinaryOutputBuilder + // WithMinimumOnTimeBuilder adds MinimumOnTime (property field) which is build by the builder + WithMinimumOnTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(ReadableProperty) BinaryOutputBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(ReadableProperty) BinaryOutputBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) BinaryOutputBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) BinaryOutputBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithFeedbackValue adds FeedbackValue (property field) + WithFeedbackValue(OptionalProperty) BinaryOutputBuilder + // WithFeedbackValueBuilder adds FeedbackValue (property field) which is build by the builder + WithFeedbackValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) BinaryOutputBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) BinaryOutputBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) BinaryOutputBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) BinaryOutputBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) BinaryOutputBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) BinaryOutputBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) BinaryOutputBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) BinaryOutputBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) BinaryOutputBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) BinaryOutputBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) BinaryOutputBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) BinaryOutputBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithInterfaceValue adds InterfaceValue (property field) + WithInterfaceValue(OptionalProperty) BinaryOutputBuilder + // WithInterfaceValueBuilder adds InterfaceValue (property field) which is build by the builder + WithInterfaceValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(ReadableProperty) BinaryOutputBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) BinaryOutputBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) BinaryOutputBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) BinaryOutputBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) BinaryOutputBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) BinaryOutputBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) BinaryOutputBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) BinaryOutputBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder + // Build builds the BinaryOutput or returns an error if something is wrong + Build() (BinaryOutput, error) + // MustBuild does the same as Build but panics on error + MustBuild() BinaryOutput +} + +// NewBinaryOutputBuilder() creates a BinaryOutputBuilder +func NewBinaryOutputBuilder() BinaryOutputBuilder { + return &_BinaryOutputBuilder{_BinaryOutput: new(_BinaryOutput)} +} + +type _BinaryOutputBuilder struct { + *_BinaryOutput + + err *utils.MultiError +} + +var _ (BinaryOutputBuilder) = (*_BinaryOutputBuilder)(nil) + +func (b *_BinaryOutputBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, polarity ReadableProperty, inactiveText OptionalProperty, activeText OptionalProperty, changeOfStateTime OptionalProperty, changeOfStateCount OptionalProperty, timeOfStateCountReset OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, minimumOffTime OptionalProperty, minimumOnTime OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, feedbackValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BinaryOutputBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithDeviceType(deviceType).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPolarity(polarity).WithInactiveText(inactiveText).WithActiveText(activeText).WithChangeOfStateTime(changeOfStateTime).WithChangeOfStateCount(changeOfStateCount).WithTimeOfStateCountReset(timeOfStateCountReset).WithElapsedActiveTime(elapsedActiveTime).WithTimeOfActiveTimeReset(timeOfActiveTimeReset).WithMinimumOffTime(minimumOffTime).WithMinimumOnTime(minimumOnTime).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithFeedbackValue(feedbackValue).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithInterfaceValue(interfaceValue).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_BinaryOutputBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) BinaryOutputBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_BinaryOutputBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithObjectName(objectName ReadableProperty) BinaryOutputBuilder { + b.ObjectName = objectName + return b +} + +func (b *_BinaryOutputBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithObjectType(objectType ReadableProperty) BinaryOutputBuilder { + b.ObjectType = objectType + return b +} + +func (b *_BinaryOutputBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithPresentValue(presentValue WritableProperty) BinaryOutputBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_BinaryOutputBuilder) WithPresentValueBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.PresentValue.CreateWritablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithDescription(description OptionalProperty) BinaryOutputBuilder { + b.Description = description + return b +} + +func (b *_BinaryOutputBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithDeviceType(deviceType OptionalProperty) BinaryOutputBuilder { + b.DeviceType = deviceType + return b +} + +func (b *_BinaryOutputBuilder) WithDeviceTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.DeviceType.CreateOptionalPropertyBuilder()) + var err error + b.DeviceType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithStatusFlags(statusFlags ReadableProperty) BinaryOutputBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_BinaryOutputBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithEventState(eventState ReadableProperty) BinaryOutputBuilder { + b.EventState = eventState + return b +} + +func (b *_BinaryOutputBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithReliability(reliability OptionalProperty) BinaryOutputBuilder { + b.Reliability = reliability + return b +} + +func (b *_BinaryOutputBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithOutOfService(outOfService ReadableProperty) BinaryOutputBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_BinaryOutputBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithPolarity(polarity ReadableProperty) BinaryOutputBuilder { + b.Polarity = polarity + return b +} + +func (b *_BinaryOutputBuilder) WithPolarityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.Polarity.CreateReadablePropertyBuilder()) + var err error + b.Polarity, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithInactiveText(inactiveText OptionalProperty) BinaryOutputBuilder { + b.InactiveText = inactiveText + return b +} + +func (b *_BinaryOutputBuilder) WithInactiveTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.InactiveText.CreateOptionalPropertyBuilder()) + var err error + b.InactiveText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithActiveText(activeText OptionalProperty) BinaryOutputBuilder { + b.ActiveText = activeText + return b +} + +func (b *_BinaryOutputBuilder) WithActiveTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ActiveText.CreateOptionalPropertyBuilder()) + var err error + b.ActiveText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithChangeOfStateTime(changeOfStateTime OptionalProperty) BinaryOutputBuilder { + b.ChangeOfStateTime = changeOfStateTime + return b +} + +func (b *_BinaryOutputBuilder) WithChangeOfStateTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ChangeOfStateTime.CreateOptionalPropertyBuilder()) + var err error + b.ChangeOfStateTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithChangeOfStateCount(changeOfStateCount OptionalProperty) BinaryOutputBuilder { + b.ChangeOfStateCount = changeOfStateCount + return b +} + +func (b *_BinaryOutputBuilder) WithChangeOfStateCountBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ChangeOfStateCount.CreateOptionalPropertyBuilder()) + var err error + b.ChangeOfStateCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithTimeOfStateCountReset(timeOfStateCountReset OptionalProperty) BinaryOutputBuilder { + b.TimeOfStateCountReset = timeOfStateCountReset + return b +} + +func (b *_BinaryOutputBuilder) WithTimeOfStateCountResetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.TimeOfStateCountReset.CreateOptionalPropertyBuilder()) + var err error + b.TimeOfStateCountReset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithElapsedActiveTime(elapsedActiveTime OptionalProperty) BinaryOutputBuilder { + b.ElapsedActiveTime = elapsedActiveTime + return b +} + +func (b *_BinaryOutputBuilder) WithElapsedActiveTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ElapsedActiveTime.CreateOptionalPropertyBuilder()) + var err error + b.ElapsedActiveTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithTimeOfActiveTimeReset(timeOfActiveTimeReset OptionalProperty) BinaryOutputBuilder { + b.TimeOfActiveTimeReset = timeOfActiveTimeReset + return b +} + +func (b *_BinaryOutputBuilder) WithTimeOfActiveTimeResetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.TimeOfActiveTimeReset.CreateOptionalPropertyBuilder()) + var err error + b.TimeOfActiveTimeReset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithMinimumOffTime(minimumOffTime OptionalProperty) BinaryOutputBuilder { + b.MinimumOffTime = minimumOffTime + return b +} + +func (b *_BinaryOutputBuilder) WithMinimumOffTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.MinimumOffTime.CreateOptionalPropertyBuilder()) + var err error + b.MinimumOffTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithMinimumOnTime(minimumOnTime OptionalProperty) BinaryOutputBuilder { + b.MinimumOnTime = minimumOnTime + return b +} + +func (b *_BinaryOutputBuilder) WithMinimumOnTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.MinimumOnTime.CreateOptionalPropertyBuilder()) + var err error + b.MinimumOnTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithPriorityArray(priorityArray ReadableProperty) BinaryOutputBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_BinaryOutputBuilder) WithPriorityArrayBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.PriorityArray.CreateReadablePropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithRelinquishDefault(relinquishDefault ReadableProperty) BinaryOutputBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_BinaryOutputBuilder) WithRelinquishDefaultBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateReadablePropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithTimeDelay(timeDelay OptionalProperty) BinaryOutputBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_BinaryOutputBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithNotificationClass(notificationClass OptionalProperty) BinaryOutputBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_BinaryOutputBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithFeedbackValue(feedbackValue OptionalProperty) BinaryOutputBuilder { + b.FeedbackValue = feedbackValue + return b +} + +func (b *_BinaryOutputBuilder) WithFeedbackValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.FeedbackValue.CreateOptionalPropertyBuilder()) + var err error + b.FeedbackValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithEventEnable(eventEnable OptionalProperty) BinaryOutputBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_BinaryOutputBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) BinaryOutputBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_BinaryOutputBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithNotifyType(notifyType OptionalProperty) BinaryOutputBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_BinaryOutputBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) BinaryOutputBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_BinaryOutputBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) BinaryOutputBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_BinaryOutputBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) BinaryOutputBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_BinaryOutputBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) BinaryOutputBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_BinaryOutputBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) BinaryOutputBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_BinaryOutputBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) BinaryOutputBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_BinaryOutputBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) BinaryOutputBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_BinaryOutputBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) BinaryOutputBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_BinaryOutputBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithPropertyList(propertyList ReadableProperty) BinaryOutputBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_BinaryOutputBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithInterfaceValue(interfaceValue OptionalProperty) BinaryOutputBuilder { + b.InterfaceValue = interfaceValue + return b +} + +func (b *_BinaryOutputBuilder) WithInterfaceValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.InterfaceValue.CreateOptionalPropertyBuilder()) + var err error + b.InterfaceValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithCurrentCommandPriority(currentCommandPriority ReadableProperty) BinaryOutputBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_BinaryOutputBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateReadablePropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithValueSource(valueSource OptionalProperty) BinaryOutputBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_BinaryOutputBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) BinaryOutputBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_BinaryOutputBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) BinaryOutputBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_BinaryOutputBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) BinaryOutputBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_BinaryOutputBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithTags(tags OptionalProperty) BinaryOutputBuilder { + b.Tags = tags + return b +} + +func (b *_BinaryOutputBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithProfileLocation(profileLocation OptionalProperty) BinaryOutputBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_BinaryOutputBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) WithProfileName(profileName OptionalProperty) BinaryOutputBuilder { + b.ProfileName = profileName + return b +} + +func (b *_BinaryOutputBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryOutputBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryOutputBuilder) Build() (BinaryOutput, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.DeviceType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceType' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Polarity == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'polarity' not set")) + } + if b.InactiveText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'inactiveText' not set")) + } + if b.ActiveText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'activeText' not set")) + } + if b.ChangeOfStateTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'changeOfStateTime' not set")) + } + if b.ChangeOfStateCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'changeOfStateCount' not set")) + } + if b.TimeOfStateCountReset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeOfStateCountReset' not set")) + } + if b.ElapsedActiveTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'elapsedActiveTime' not set")) + } + if b.TimeOfActiveTimeReset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeOfActiveTimeReset' not set")) + } + if b.MinimumOffTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minimumOffTime' not set")) + } + if b.MinimumOnTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minimumOnTime' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.FeedbackValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'feedbackValue' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.InterfaceValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'interfaceValue' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._BinaryOutput.deepCopy(), nil +} + +func (b *_BinaryOutputBuilder) MustBuild() BinaryOutput { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_BinaryOutputBuilder) DeepCopy() any { + _copy := b.CreateBinaryOutputBuilder().(*_BinaryOutputBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateBinaryOutputBuilder creates a BinaryOutputBuilder +func (b *_BinaryOutput) CreateBinaryOutputBuilder() BinaryOutputBuilder { + if b == nil { + return NewBinaryOutputBuilder() + } + return &_BinaryOutputBuilder{_BinaryOutput: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_BinaryOutput) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_BinaryOutput) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_BinaryOutput) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_BinaryOutput) GetPresentValue() WritableProperty { + return m.PresentValue +} + +func (m *_BinaryOutput) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_BinaryOutput) GetDeviceType() OptionalProperty { + return m.DeviceType +} + +func (m *_BinaryOutput) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_BinaryOutput) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_BinaryOutput) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_BinaryOutput) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_BinaryOutput) GetPolarity() ReadableProperty { + return m.Polarity +} + +func (m *_BinaryOutput) GetInactiveText() OptionalProperty { + return m.InactiveText +} + +func (m *_BinaryOutput) GetActiveText() OptionalProperty { + return m.ActiveText +} + +func (m *_BinaryOutput) GetChangeOfStateTime() OptionalProperty { + return m.ChangeOfStateTime +} + +func (m *_BinaryOutput) GetChangeOfStateCount() OptionalProperty { + return m.ChangeOfStateCount +} + +func (m *_BinaryOutput) GetTimeOfStateCountReset() OptionalProperty { + return m.TimeOfStateCountReset +} + +func (m *_BinaryOutput) GetElapsedActiveTime() OptionalProperty { + return m.ElapsedActiveTime +} + +func (m *_BinaryOutput) GetTimeOfActiveTimeReset() OptionalProperty { + return m.TimeOfActiveTimeReset +} + +func (m *_BinaryOutput) GetMinimumOffTime() OptionalProperty { + return m.MinimumOffTime +} + +func (m *_BinaryOutput) GetMinimumOnTime() OptionalProperty { + return m.MinimumOnTime +} + +func (m *_BinaryOutput) GetPriorityArray() ReadableProperty { + return m.PriorityArray +} + +func (m *_BinaryOutput) GetRelinquishDefault() ReadableProperty { + return m.RelinquishDefault +} + +func (m *_BinaryOutput) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_BinaryOutput) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_BinaryOutput) GetFeedbackValue() OptionalProperty { + return m.FeedbackValue +} + +func (m *_BinaryOutput) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_BinaryOutput) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_BinaryOutput) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_BinaryOutput) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_BinaryOutput) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_BinaryOutput) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_BinaryOutput) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_BinaryOutput) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_BinaryOutput) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_BinaryOutput) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_BinaryOutput) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_BinaryOutput) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_BinaryOutput) GetInterfaceValue() OptionalProperty { + return m.InterfaceValue +} + +func (m *_BinaryOutput) GetCurrentCommandPriority() ReadableProperty { + return m.CurrentCommandPriority +} + +func (m *_BinaryOutput) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_BinaryOutput) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_BinaryOutput) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_BinaryOutput) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_BinaryOutput) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_BinaryOutput) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_BinaryOutput) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastBinaryOutput(structType any) BinaryOutput { + if casted, ok := structType.(BinaryOutput); ok { + return casted + } + if casted, ok := structType.(*BinaryOutput); ok { + return *casted + } + return nil +} + +func (m *_BinaryOutput) GetTypeName() string { + return "BinaryOutput" +} + +func (m *_BinaryOutput) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (deviceType) + lengthInBits += m.DeviceType.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (polarity) + lengthInBits += m.Polarity.GetLengthInBits(ctx) + + // Simple field (inactiveText) + lengthInBits += m.InactiveText.GetLengthInBits(ctx) + + // Simple field (activeText) + lengthInBits += m.ActiveText.GetLengthInBits(ctx) + + // Simple field (changeOfStateTime) + lengthInBits += m.ChangeOfStateTime.GetLengthInBits(ctx) + + // Simple field (changeOfStateCount) + lengthInBits += m.ChangeOfStateCount.GetLengthInBits(ctx) + + // Simple field (timeOfStateCountReset) + lengthInBits += m.TimeOfStateCountReset.GetLengthInBits(ctx) + + // Simple field (elapsedActiveTime) + lengthInBits += m.ElapsedActiveTime.GetLengthInBits(ctx) + + // Simple field (timeOfActiveTimeReset) + lengthInBits += m.TimeOfActiveTimeReset.GetLengthInBits(ctx) + + // Simple field (minimumOffTime) + lengthInBits += m.MinimumOffTime.GetLengthInBits(ctx) + + // Simple field (minimumOnTime) + lengthInBits += m.MinimumOnTime.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (feedbackValue) + lengthInBits += m.FeedbackValue.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (interfaceValue) + lengthInBits += m.InterfaceValue.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_BinaryOutput) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func BinaryOutputParse(ctx context.Context, theBytes []byte) (BinaryOutput, error) { + return BinaryOutputParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func BinaryOutputParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryOutput, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryOutput, error) { + return BinaryOutputParseWithBuffer(ctx, readBuffer) + } +} + +func BinaryOutputParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryOutput, error) { + v, err := (&_BinaryOutput{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_BinaryOutput) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__binaryOutput BinaryOutput, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("BinaryOutput"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for BinaryOutput") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[WritableProperty](ctx, "presentValue", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + deviceType, err := ReadSimpleField[OptionalProperty](ctx, "deviceType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceType' field")) + } + m.DeviceType = deviceType + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + polarity, err := ReadSimpleField[ReadableProperty](ctx, "polarity", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetPolarity")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'polarity' field")) + } + m.Polarity = polarity + + inactiveText, err := ReadSimpleField[OptionalProperty](ctx, "inactiveText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'inactiveText' field")) + } + m.InactiveText = inactiveText + + activeText, err := ReadSimpleField[OptionalProperty](ctx, "activeText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'activeText' field")) + } + m.ActiveText = activeText + + changeOfStateTime, err := ReadSimpleField[OptionalProperty](ctx, "changeOfStateTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'changeOfStateTime' field")) + } + m.ChangeOfStateTime = changeOfStateTime + + changeOfStateCount, err := ReadSimpleField[OptionalProperty](ctx, "changeOfStateCount", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'changeOfStateCount' field")) + } + m.ChangeOfStateCount = changeOfStateCount + + timeOfStateCountReset, err := ReadSimpleField[OptionalProperty](ctx, "timeOfStateCountReset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeOfStateCountReset' field")) + } + m.TimeOfStateCountReset = timeOfStateCountReset + + elapsedActiveTime, err := ReadSimpleField[OptionalProperty](ctx, "elapsedActiveTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'elapsedActiveTime' field")) + } + m.ElapsedActiveTime = elapsedActiveTime + + timeOfActiveTimeReset, err := ReadSimpleField[OptionalProperty](ctx, "timeOfActiveTimeReset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeOfActiveTimeReset' field")) + } + m.TimeOfActiveTimeReset = timeOfActiveTimeReset + + minimumOffTime, err := ReadSimpleField[OptionalProperty](ctx, "minimumOffTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minimumOffTime' field")) + } + m.MinimumOffTime = minimumOffTime + + minimumOnTime, err := ReadSimpleField[OptionalProperty](ctx, "minimumOnTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minimumOnTime' field")) + } + m.MinimumOnTime = minimumOnTime + + priorityArray, err := ReadSimpleField[ReadableProperty](ctx, "priorityArray", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[ReadableProperty](ctx, "relinquishDefault", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + feedbackValue, err := ReadSimpleField[OptionalProperty](ctx, "feedbackValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'feedbackValue' field")) + } + m.FeedbackValue = feedbackValue + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + interfaceValue, err := ReadSimpleField[OptionalProperty](ctx, "interfaceValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'interfaceValue' field")) + } + m.InterfaceValue = interfaceValue + + currentCommandPriority, err := ReadSimpleField[ReadableProperty](ctx, "currentCommandPriority", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("BinaryOutput"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for BinaryOutput") + } + + return m, nil +} + +func (m *_BinaryOutput) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_BinaryOutput) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("BinaryOutput"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for BinaryOutput") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deviceType", m.GetDeviceType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "polarity", m.GetPolarity(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'polarity' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "inactiveText", m.GetInactiveText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'inactiveText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "activeText", m.GetActiveText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'activeText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "changeOfStateTime", m.GetChangeOfStateTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'changeOfStateTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "changeOfStateCount", m.GetChangeOfStateCount(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'changeOfStateCount' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeOfStateCountReset", m.GetTimeOfStateCountReset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeOfStateCountReset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "elapsedActiveTime", m.GetElapsedActiveTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'elapsedActiveTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeOfActiveTimeReset", m.GetTimeOfActiveTimeReset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeOfActiveTimeReset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minimumOffTime", m.GetMinimumOffTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minimumOffTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minimumOnTime", m.GetMinimumOnTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minimumOnTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "feedbackValue", m.GetFeedbackValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'feedbackValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "interfaceValue", m.GetInterfaceValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'interfaceValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("BinaryOutput"); popErr != nil { + return errors.Wrap(popErr, "Error popping for BinaryOutput") + } + return nil +} + +func (m *_BinaryOutput) IsBinaryOutput() {} + +func (m *_BinaryOutput) DeepCopy() any { + return m.deepCopy() +} + +func (m *_BinaryOutput) deepCopy() *_BinaryOutput { + if m == nil { + return nil + } + _BinaryOutputCopy := &_BinaryOutput{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(WritableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.DeviceType.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.Polarity.DeepCopy().(ReadableProperty), + m.InactiveText.DeepCopy().(OptionalProperty), + m.ActiveText.DeepCopy().(OptionalProperty), + m.ChangeOfStateTime.DeepCopy().(OptionalProperty), + m.ChangeOfStateCount.DeepCopy().(OptionalProperty), + m.TimeOfStateCountReset.DeepCopy().(OptionalProperty), + m.ElapsedActiveTime.DeepCopy().(OptionalProperty), + m.TimeOfActiveTimeReset.DeepCopy().(OptionalProperty), + m.MinimumOffTime.DeepCopy().(OptionalProperty), + m.MinimumOnTime.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(ReadableProperty), + m.RelinquishDefault.DeepCopy().(ReadableProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.FeedbackValue.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.InterfaceValue.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _BinaryOutputCopy +} + +func (m *_BinaryOutput) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/BinaryValue.go b/plc4go/protocols/bacnetip/readwrite/model/BinaryValue.go new file mode 100644 index 00000000000..f4bcd22dbbd --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/BinaryValue.go @@ -0,0 +1,2484 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// BinaryValue is the corresponding interface of BinaryValue +type BinaryValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetInactiveText returns InactiveText (property field) + GetInactiveText() OptionalProperty + // GetActiveText returns ActiveText (property field) + GetActiveText() OptionalProperty + // GetChangeOfStateTime returns ChangeOfStateTime (property field) + GetChangeOfStateTime() OptionalProperty + // GetChangeOfStateCount returns ChangeOfStateCount (property field) + GetChangeOfStateCount() OptionalProperty + // GetTimeOfStateCountReset returns TimeOfStateCountReset (property field) + GetTimeOfStateCountReset() OptionalProperty + // GetElapsedActiveTime returns ElapsedActiveTime (property field) + GetElapsedActiveTime() OptionalProperty + // GetTimeOfActiveTimeReset returns TimeOfActiveTimeReset (property field) + GetTimeOfActiveTimeReset() OptionalProperty + // GetMinimumOffTime returns MinimumOffTime (property field) + GetMinimumOffTime() OptionalProperty + // GetMinimumOnTime returns MinimumOnTime (property field) + GetMinimumOnTime() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetAlarmValue returns AlarmValue (property field) + GetAlarmValue() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsBinaryValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsBinaryValue() + // CreateBuilder creates a BinaryValueBuilder + CreateBinaryValueBuilder() BinaryValueBuilder +} + +// _BinaryValue is the data-structure of this message +type _BinaryValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + InactiveText OptionalProperty + ActiveText OptionalProperty + ChangeOfStateTime OptionalProperty + ChangeOfStateCount OptionalProperty + TimeOfStateCountReset OptionalProperty + ElapsedActiveTime OptionalProperty + TimeOfActiveTimeReset OptionalProperty + MinimumOffTime OptionalProperty + MinimumOnTime OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + AlarmValue OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ BinaryValue = (*_BinaryValue)(nil) + +// NewBinaryValue factory function for _BinaryValue +func NewBinaryValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, inactiveText OptionalProperty, activeText OptionalProperty, changeOfStateTime OptionalProperty, changeOfStateCount OptionalProperty, timeOfStateCountReset OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, minimumOffTime OptionalProperty, minimumOnTime OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_BinaryValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for BinaryValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for BinaryValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for BinaryValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for BinaryValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for BinaryValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for BinaryValue must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for BinaryValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for BinaryValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for BinaryValue must not be nil") + } + if inactiveText == nil { + panic("inactiveText of type OptionalProperty for BinaryValue must not be nil") + } + if activeText == nil { + panic("activeText of type OptionalProperty for BinaryValue must not be nil") + } + if changeOfStateTime == nil { + panic("changeOfStateTime of type OptionalProperty for BinaryValue must not be nil") + } + if changeOfStateCount == nil { + panic("changeOfStateCount of type OptionalProperty for BinaryValue must not be nil") + } + if timeOfStateCountReset == nil { + panic("timeOfStateCountReset of type OptionalProperty for BinaryValue must not be nil") + } + if elapsedActiveTime == nil { + panic("elapsedActiveTime of type OptionalProperty for BinaryValue must not be nil") + } + if timeOfActiveTimeReset == nil { + panic("timeOfActiveTimeReset of type OptionalProperty for BinaryValue must not be nil") + } + if minimumOffTime == nil { + panic("minimumOffTime of type OptionalProperty for BinaryValue must not be nil") + } + if minimumOnTime == nil { + panic("minimumOnTime of type OptionalProperty for BinaryValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for BinaryValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for BinaryValue must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for BinaryValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for BinaryValue must not be nil") + } + if alarmValue == nil { + panic("alarmValue of type OptionalProperty for BinaryValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for BinaryValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for BinaryValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for BinaryValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for BinaryValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for BinaryValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for BinaryValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for BinaryValue must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for BinaryValue must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for BinaryValue must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for BinaryValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for BinaryValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for BinaryValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for BinaryValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for BinaryValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for BinaryValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for BinaryValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for BinaryValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for BinaryValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for BinaryValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for BinaryValue must not be nil") + } + return &_BinaryValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, InactiveText: inactiveText, ActiveText: activeText, ChangeOfStateTime: changeOfStateTime, ChangeOfStateCount: changeOfStateCount, TimeOfStateCountReset: timeOfStateCountReset, ElapsedActiveTime: elapsedActiveTime, TimeOfActiveTimeReset: timeOfActiveTimeReset, MinimumOffTime: minimumOffTime, MinimumOnTime: minimumOnTime, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, TimeDelay: timeDelay, NotificationClass: notificationClass, AlarmValue: alarmValue, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// BinaryValueBuilder is a builder for BinaryValue +type BinaryValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, inactiveText OptionalProperty, activeText OptionalProperty, changeOfStateTime OptionalProperty, changeOfStateCount OptionalProperty, timeOfStateCountReset OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, minimumOffTime OptionalProperty, minimumOnTime OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BinaryValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) BinaryValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) BinaryValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) BinaryValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) BinaryValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) BinaryValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) BinaryValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) BinaryValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) BinaryValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) BinaryValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder + // WithInactiveText adds InactiveText (property field) + WithInactiveText(OptionalProperty) BinaryValueBuilder + // WithInactiveTextBuilder adds InactiveText (property field) which is build by the builder + WithInactiveTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithActiveText adds ActiveText (property field) + WithActiveText(OptionalProperty) BinaryValueBuilder + // WithActiveTextBuilder adds ActiveText (property field) which is build by the builder + WithActiveTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithChangeOfStateTime adds ChangeOfStateTime (property field) + WithChangeOfStateTime(OptionalProperty) BinaryValueBuilder + // WithChangeOfStateTimeBuilder adds ChangeOfStateTime (property field) which is build by the builder + WithChangeOfStateTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithChangeOfStateCount adds ChangeOfStateCount (property field) + WithChangeOfStateCount(OptionalProperty) BinaryValueBuilder + // WithChangeOfStateCountBuilder adds ChangeOfStateCount (property field) which is build by the builder + WithChangeOfStateCountBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithTimeOfStateCountReset adds TimeOfStateCountReset (property field) + WithTimeOfStateCountReset(OptionalProperty) BinaryValueBuilder + // WithTimeOfStateCountResetBuilder adds TimeOfStateCountReset (property field) which is build by the builder + WithTimeOfStateCountResetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithElapsedActiveTime adds ElapsedActiveTime (property field) + WithElapsedActiveTime(OptionalProperty) BinaryValueBuilder + // WithElapsedActiveTimeBuilder adds ElapsedActiveTime (property field) which is build by the builder + WithElapsedActiveTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithTimeOfActiveTimeReset adds TimeOfActiveTimeReset (property field) + WithTimeOfActiveTimeReset(OptionalProperty) BinaryValueBuilder + // WithTimeOfActiveTimeResetBuilder adds TimeOfActiveTimeReset (property field) which is build by the builder + WithTimeOfActiveTimeResetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithMinimumOffTime adds MinimumOffTime (property field) + WithMinimumOffTime(OptionalProperty) BinaryValueBuilder + // WithMinimumOffTimeBuilder adds MinimumOffTime (property field) which is build by the builder + WithMinimumOffTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithMinimumOnTime adds MinimumOnTime (property field) + WithMinimumOnTime(OptionalProperty) BinaryValueBuilder + // WithMinimumOnTimeBuilder adds MinimumOnTime (property field) which is build by the builder + WithMinimumOnTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) BinaryValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) BinaryValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) BinaryValueBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) BinaryValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithAlarmValue adds AlarmValue (property field) + WithAlarmValue(OptionalProperty) BinaryValueBuilder + // WithAlarmValueBuilder adds AlarmValue (property field) which is build by the builder + WithAlarmValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) BinaryValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) BinaryValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) BinaryValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) BinaryValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) BinaryValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) BinaryValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) BinaryValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) BinaryValueBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) BinaryValueBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) BinaryValueBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) BinaryValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) BinaryValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) BinaryValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) BinaryValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) BinaryValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) BinaryValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) BinaryValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) BinaryValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) BinaryValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) BinaryValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder + // Build builds the BinaryValue or returns an error if something is wrong + Build() (BinaryValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() BinaryValue +} + +// NewBinaryValueBuilder() creates a BinaryValueBuilder +func NewBinaryValueBuilder() BinaryValueBuilder { + return &_BinaryValueBuilder{_BinaryValue: new(_BinaryValue)} +} + +type _BinaryValueBuilder struct { + *_BinaryValue + + err *utils.MultiError +} + +var _ (BinaryValueBuilder) = (*_BinaryValueBuilder)(nil) + +func (b *_BinaryValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, inactiveText OptionalProperty, activeText OptionalProperty, changeOfStateTime OptionalProperty, changeOfStateCount OptionalProperty, timeOfStateCountReset OptionalProperty, elapsedActiveTime OptionalProperty, timeOfActiveTimeReset OptionalProperty, minimumOffTime OptionalProperty, minimumOnTime OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BinaryValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithInactiveText(inactiveText).WithActiveText(activeText).WithChangeOfStateTime(changeOfStateTime).WithChangeOfStateCount(changeOfStateCount).WithTimeOfStateCountReset(timeOfStateCountReset).WithElapsedActiveTime(elapsedActiveTime).WithTimeOfActiveTimeReset(timeOfActiveTimeReset).WithMinimumOffTime(minimumOffTime).WithMinimumOnTime(minimumOnTime).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithAlarmValue(alarmValue).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_BinaryValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) BinaryValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_BinaryValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithObjectName(objectName ReadableProperty) BinaryValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_BinaryValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithObjectType(objectType ReadableProperty) BinaryValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_BinaryValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithPresentValue(presentValue ReadableProperty) BinaryValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_BinaryValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithDescription(description OptionalProperty) BinaryValueBuilder { + b.Description = description + return b +} + +func (b *_BinaryValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithStatusFlags(statusFlags ReadableProperty) BinaryValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_BinaryValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithEventState(eventState ReadableProperty) BinaryValueBuilder { + b.EventState = eventState + return b +} + +func (b *_BinaryValueBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithReliability(reliability OptionalProperty) BinaryValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_BinaryValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithOutOfService(outOfService ReadableProperty) BinaryValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_BinaryValueBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithInactiveText(inactiveText OptionalProperty) BinaryValueBuilder { + b.InactiveText = inactiveText + return b +} + +func (b *_BinaryValueBuilder) WithInactiveTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.InactiveText.CreateOptionalPropertyBuilder()) + var err error + b.InactiveText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithActiveText(activeText OptionalProperty) BinaryValueBuilder { + b.ActiveText = activeText + return b +} + +func (b *_BinaryValueBuilder) WithActiveTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ActiveText.CreateOptionalPropertyBuilder()) + var err error + b.ActiveText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithChangeOfStateTime(changeOfStateTime OptionalProperty) BinaryValueBuilder { + b.ChangeOfStateTime = changeOfStateTime + return b +} + +func (b *_BinaryValueBuilder) WithChangeOfStateTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ChangeOfStateTime.CreateOptionalPropertyBuilder()) + var err error + b.ChangeOfStateTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithChangeOfStateCount(changeOfStateCount OptionalProperty) BinaryValueBuilder { + b.ChangeOfStateCount = changeOfStateCount + return b +} + +func (b *_BinaryValueBuilder) WithChangeOfStateCountBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ChangeOfStateCount.CreateOptionalPropertyBuilder()) + var err error + b.ChangeOfStateCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithTimeOfStateCountReset(timeOfStateCountReset OptionalProperty) BinaryValueBuilder { + b.TimeOfStateCountReset = timeOfStateCountReset + return b +} + +func (b *_BinaryValueBuilder) WithTimeOfStateCountResetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.TimeOfStateCountReset.CreateOptionalPropertyBuilder()) + var err error + b.TimeOfStateCountReset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithElapsedActiveTime(elapsedActiveTime OptionalProperty) BinaryValueBuilder { + b.ElapsedActiveTime = elapsedActiveTime + return b +} + +func (b *_BinaryValueBuilder) WithElapsedActiveTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ElapsedActiveTime.CreateOptionalPropertyBuilder()) + var err error + b.ElapsedActiveTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithTimeOfActiveTimeReset(timeOfActiveTimeReset OptionalProperty) BinaryValueBuilder { + b.TimeOfActiveTimeReset = timeOfActiveTimeReset + return b +} + +func (b *_BinaryValueBuilder) WithTimeOfActiveTimeResetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.TimeOfActiveTimeReset.CreateOptionalPropertyBuilder()) + var err error + b.TimeOfActiveTimeReset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithMinimumOffTime(minimumOffTime OptionalProperty) BinaryValueBuilder { + b.MinimumOffTime = minimumOffTime + return b +} + +func (b *_BinaryValueBuilder) WithMinimumOffTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.MinimumOffTime.CreateOptionalPropertyBuilder()) + var err error + b.MinimumOffTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithMinimumOnTime(minimumOnTime OptionalProperty) BinaryValueBuilder { + b.MinimumOnTime = minimumOnTime + return b +} + +func (b *_BinaryValueBuilder) WithMinimumOnTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.MinimumOnTime.CreateOptionalPropertyBuilder()) + var err error + b.MinimumOnTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithPriorityArray(priorityArray OptionalProperty) BinaryValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_BinaryValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) BinaryValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_BinaryValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithTimeDelay(timeDelay OptionalProperty) BinaryValueBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_BinaryValueBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithNotificationClass(notificationClass OptionalProperty) BinaryValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_BinaryValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithAlarmValue(alarmValue OptionalProperty) BinaryValueBuilder { + b.AlarmValue = alarmValue + return b +} + +func (b *_BinaryValueBuilder) WithAlarmValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.AlarmValue.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithEventEnable(eventEnable OptionalProperty) BinaryValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_BinaryValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) BinaryValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_BinaryValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithNotifyType(notifyType OptionalProperty) BinaryValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_BinaryValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) BinaryValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_BinaryValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) BinaryValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_BinaryValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) BinaryValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_BinaryValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) BinaryValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_BinaryValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) BinaryValueBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_BinaryValueBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) BinaryValueBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_BinaryValueBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) BinaryValueBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_BinaryValueBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) BinaryValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_BinaryValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithPropertyList(propertyList ReadableProperty) BinaryValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_BinaryValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) BinaryValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_BinaryValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithValueSource(valueSource OptionalProperty) BinaryValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_BinaryValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) BinaryValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_BinaryValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) BinaryValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_BinaryValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) BinaryValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_BinaryValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithTags(tags OptionalProperty) BinaryValueBuilder { + b.Tags = tags + return b +} + +func (b *_BinaryValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithProfileLocation(profileLocation OptionalProperty) BinaryValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_BinaryValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) WithProfileName(profileName OptionalProperty) BinaryValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_BinaryValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BinaryValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BinaryValueBuilder) Build() (BinaryValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.InactiveText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'inactiveText' not set")) + } + if b.ActiveText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'activeText' not set")) + } + if b.ChangeOfStateTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'changeOfStateTime' not set")) + } + if b.ChangeOfStateCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'changeOfStateCount' not set")) + } + if b.TimeOfStateCountReset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeOfStateCountReset' not set")) + } + if b.ElapsedActiveTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'elapsedActiveTime' not set")) + } + if b.TimeOfActiveTimeReset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeOfActiveTimeReset' not set")) + } + if b.MinimumOffTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minimumOffTime' not set")) + } + if b.MinimumOnTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minimumOnTime' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.AlarmValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValue' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._BinaryValue.deepCopy(), nil +} + +func (b *_BinaryValueBuilder) MustBuild() BinaryValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_BinaryValueBuilder) DeepCopy() any { + _copy := b.CreateBinaryValueBuilder().(*_BinaryValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateBinaryValueBuilder creates a BinaryValueBuilder +func (b *_BinaryValue) CreateBinaryValueBuilder() BinaryValueBuilder { + if b == nil { + return NewBinaryValueBuilder() + } + return &_BinaryValueBuilder{_BinaryValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_BinaryValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_BinaryValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_BinaryValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_BinaryValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_BinaryValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_BinaryValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_BinaryValue) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_BinaryValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_BinaryValue) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_BinaryValue) GetInactiveText() OptionalProperty { + return m.InactiveText +} + +func (m *_BinaryValue) GetActiveText() OptionalProperty { + return m.ActiveText +} + +func (m *_BinaryValue) GetChangeOfStateTime() OptionalProperty { + return m.ChangeOfStateTime +} + +func (m *_BinaryValue) GetChangeOfStateCount() OptionalProperty { + return m.ChangeOfStateCount +} + +func (m *_BinaryValue) GetTimeOfStateCountReset() OptionalProperty { + return m.TimeOfStateCountReset +} + +func (m *_BinaryValue) GetElapsedActiveTime() OptionalProperty { + return m.ElapsedActiveTime +} + +func (m *_BinaryValue) GetTimeOfActiveTimeReset() OptionalProperty { + return m.TimeOfActiveTimeReset +} + +func (m *_BinaryValue) GetMinimumOffTime() OptionalProperty { + return m.MinimumOffTime +} + +func (m *_BinaryValue) GetMinimumOnTime() OptionalProperty { + return m.MinimumOnTime +} + +func (m *_BinaryValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_BinaryValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_BinaryValue) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_BinaryValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_BinaryValue) GetAlarmValue() OptionalProperty { + return m.AlarmValue +} + +func (m *_BinaryValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_BinaryValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_BinaryValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_BinaryValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_BinaryValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_BinaryValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_BinaryValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_BinaryValue) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_BinaryValue) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_BinaryValue) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_BinaryValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_BinaryValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_BinaryValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_BinaryValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_BinaryValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_BinaryValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_BinaryValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_BinaryValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_BinaryValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_BinaryValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastBinaryValue(structType any) BinaryValue { + if casted, ok := structType.(BinaryValue); ok { + return casted + } + if casted, ok := structType.(*BinaryValue); ok { + return *casted + } + return nil +} + +func (m *_BinaryValue) GetTypeName() string { + return "BinaryValue" +} + +func (m *_BinaryValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (inactiveText) + lengthInBits += m.InactiveText.GetLengthInBits(ctx) + + // Simple field (activeText) + lengthInBits += m.ActiveText.GetLengthInBits(ctx) + + // Simple field (changeOfStateTime) + lengthInBits += m.ChangeOfStateTime.GetLengthInBits(ctx) + + // Simple field (changeOfStateCount) + lengthInBits += m.ChangeOfStateCount.GetLengthInBits(ctx) + + // Simple field (timeOfStateCountReset) + lengthInBits += m.TimeOfStateCountReset.GetLengthInBits(ctx) + + // Simple field (elapsedActiveTime) + lengthInBits += m.ElapsedActiveTime.GetLengthInBits(ctx) + + // Simple field (timeOfActiveTimeReset) + lengthInBits += m.TimeOfActiveTimeReset.GetLengthInBits(ctx) + + // Simple field (minimumOffTime) + lengthInBits += m.MinimumOffTime.GetLengthInBits(ctx) + + // Simple field (minimumOnTime) + lengthInBits += m.MinimumOnTime.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (alarmValue) + lengthInBits += m.AlarmValue.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_BinaryValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func BinaryValueParse(ctx context.Context, theBytes []byte) (BinaryValue, error) { + return BinaryValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func BinaryValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryValue, error) { + return BinaryValueParseWithBuffer(ctx, readBuffer) + } +} + +func BinaryValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (BinaryValue, error) { + v, err := (&_BinaryValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_BinaryValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__binaryValue BinaryValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("BinaryValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for BinaryValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + inactiveText, err := ReadSimpleField[OptionalProperty](ctx, "inactiveText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'inactiveText' field")) + } + m.InactiveText = inactiveText + + activeText, err := ReadSimpleField[OptionalProperty](ctx, "activeText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'activeText' field")) + } + m.ActiveText = activeText + + changeOfStateTime, err := ReadSimpleField[OptionalProperty](ctx, "changeOfStateTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'changeOfStateTime' field")) + } + m.ChangeOfStateTime = changeOfStateTime + + changeOfStateCount, err := ReadSimpleField[OptionalProperty](ctx, "changeOfStateCount", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'changeOfStateCount' field")) + } + m.ChangeOfStateCount = changeOfStateCount + + timeOfStateCountReset, err := ReadSimpleField[OptionalProperty](ctx, "timeOfStateCountReset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeOfStateCountReset' field")) + } + m.TimeOfStateCountReset = timeOfStateCountReset + + elapsedActiveTime, err := ReadSimpleField[OptionalProperty](ctx, "elapsedActiveTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'elapsedActiveTime' field")) + } + m.ElapsedActiveTime = elapsedActiveTime + + timeOfActiveTimeReset, err := ReadSimpleField[OptionalProperty](ctx, "timeOfActiveTimeReset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeOfActiveTimeReset' field")) + } + m.TimeOfActiveTimeReset = timeOfActiveTimeReset + + minimumOffTime, err := ReadSimpleField[OptionalProperty](ctx, "minimumOffTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minimumOffTime' field")) + } + m.MinimumOffTime = minimumOffTime + + minimumOnTime, err := ReadSimpleField[OptionalProperty](ctx, "minimumOnTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minimumOnTime' field")) + } + m.MinimumOnTime = minimumOnTime + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + alarmValue, err := ReadSimpleField[OptionalProperty](ctx, "alarmValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetBinaryPV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValue' field")) + } + m.AlarmValue = alarmValue + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("BinaryValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for BinaryValue") + } + + return m, nil +} + +func (m *_BinaryValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_BinaryValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("BinaryValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for BinaryValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "inactiveText", m.GetInactiveText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'inactiveText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "activeText", m.GetActiveText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'activeText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "changeOfStateTime", m.GetChangeOfStateTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'changeOfStateTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "changeOfStateCount", m.GetChangeOfStateCount(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'changeOfStateCount' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeOfStateCountReset", m.GetTimeOfStateCountReset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeOfStateCountReset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "elapsedActiveTime", m.GetElapsedActiveTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'elapsedActiveTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeOfActiveTimeReset", m.GetTimeOfActiveTimeReset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeOfActiveTimeReset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minimumOffTime", m.GetMinimumOffTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minimumOffTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minimumOnTime", m.GetMinimumOnTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minimumOnTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValue", m.GetAlarmValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("BinaryValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for BinaryValue") + } + return nil +} + +func (m *_BinaryValue) IsBinaryValue() {} + +func (m *_BinaryValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_BinaryValue) deepCopy() *_BinaryValue { + if m == nil { + return nil + } + _BinaryValueCopy := &_BinaryValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.InactiveText.DeepCopy().(OptionalProperty), + m.ActiveText.DeepCopy().(OptionalProperty), + m.ChangeOfStateTime.DeepCopy().(OptionalProperty), + m.ChangeOfStateCount.DeepCopy().(OptionalProperty), + m.TimeOfStateCountReset.DeepCopy().(OptionalProperty), + m.ElapsedActiveTime.DeepCopy().(OptionalProperty), + m.TimeOfActiveTimeReset.DeepCopy().(OptionalProperty), + m.MinimumOffTime.DeepCopy().(OptionalProperty), + m.MinimumOnTime.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.AlarmValue.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _BinaryValueCopy +} + +func (m *_BinaryValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/BitStringValue.go b/plc4go/protocols/bacnetip/readwrite/model/BitStringValue.go new file mode 100644 index 00000000000..fed921dd193 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/BitStringValue.go @@ -0,0 +1,2120 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// BitStringValue is the corresponding interface of BitStringValue +type BitStringValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetBitText returns BitText (property field) + GetBitText() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetAlarmValues returns AlarmValues (property field) + GetAlarmValues() OptionalProperty + // GetBitMask returns BitMask (property field) + GetBitMask() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsBitStringValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsBitStringValue() + // CreateBuilder creates a BitStringValueBuilder + CreateBitStringValueBuilder() BitStringValueBuilder +} + +// _BitStringValue is the data-structure of this message +type _BitStringValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + BitText OptionalProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + AlarmValues OptionalProperty + BitMask OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ BitStringValue = (*_BitStringValue)(nil) + +// NewBitStringValue factory function for _BitStringValue +func NewBitStringValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, bitText OptionalProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, bitMask OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_BitStringValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for BitStringValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for BitStringValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for BitStringValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for BitStringValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for BitStringValue must not be nil") + } + if bitText == nil { + panic("bitText of type OptionalProperty for BitStringValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for BitStringValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for BitStringValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for BitStringValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for BitStringValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for BitStringValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for BitStringValue must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for BitStringValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for BitStringValue must not be nil") + } + if alarmValues == nil { + panic("alarmValues of type OptionalProperty for BitStringValue must not be nil") + } + if bitMask == nil { + panic("bitMask of type OptionalProperty for BitStringValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for BitStringValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for BitStringValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for BitStringValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for BitStringValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for BitStringValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for BitStringValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for BitStringValue must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for BitStringValue must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for BitStringValue must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for BitStringValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for BitStringValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for BitStringValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for BitStringValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for BitStringValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for BitStringValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for BitStringValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for BitStringValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for BitStringValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for BitStringValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for BitStringValue must not be nil") + } + return &_BitStringValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, BitText: bitText, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, TimeDelay: timeDelay, NotificationClass: notificationClass, AlarmValues: alarmValues, BitMask: bitMask, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// BitStringValueBuilder is a builder for BitStringValue +type BitStringValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, bitText OptionalProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, bitMask OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BitStringValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) BitStringValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) BitStringValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) BitStringValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) BitStringValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) BitStringValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder + // WithBitText adds BitText (property field) + WithBitText(OptionalProperty) BitStringValueBuilder + // WithBitTextBuilder adds BitText (property field) which is build by the builder + WithBitTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) BitStringValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) BitStringValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) BitStringValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) BitStringValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) BitStringValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) BitStringValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) BitStringValueBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) BitStringValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithAlarmValues adds AlarmValues (property field) + WithAlarmValues(OptionalProperty) BitStringValueBuilder + // WithAlarmValuesBuilder adds AlarmValues (property field) which is build by the builder + WithAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithBitMask adds BitMask (property field) + WithBitMask(OptionalProperty) BitStringValueBuilder + // WithBitMaskBuilder adds BitMask (property field) which is build by the builder + WithBitMaskBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) BitStringValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) BitStringValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) BitStringValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) BitStringValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) BitStringValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) BitStringValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) BitStringValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) BitStringValueBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) BitStringValueBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) BitStringValueBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) BitStringValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) BitStringValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) BitStringValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) BitStringValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) BitStringValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) BitStringValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) BitStringValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) BitStringValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) BitStringValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) BitStringValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder + // Build builds the BitStringValue or returns an error if something is wrong + Build() (BitStringValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() BitStringValue +} + +// NewBitStringValueBuilder() creates a BitStringValueBuilder +func NewBitStringValueBuilder() BitStringValueBuilder { + return &_BitStringValueBuilder{_BitStringValue: new(_BitStringValue)} +} + +type _BitStringValueBuilder struct { + *_BitStringValue + + err *utils.MultiError +} + +var _ (BitStringValueBuilder) = (*_BitStringValueBuilder)(nil) + +func (b *_BitStringValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, bitText OptionalProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, bitMask OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) BitStringValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithBitText(bitText).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithAlarmValues(alarmValues).WithBitMask(bitMask).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_BitStringValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) BitStringValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_BitStringValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithObjectName(objectName ReadableProperty) BitStringValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_BitStringValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithObjectType(objectType ReadableProperty) BitStringValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_BitStringValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithDescription(description OptionalProperty) BitStringValueBuilder { + b.Description = description + return b +} + +func (b *_BitStringValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithPresentValue(presentValue ReadableProperty) BitStringValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_BitStringValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithBitText(bitText OptionalProperty) BitStringValueBuilder { + b.BitText = bitText + return b +} + +func (b *_BitStringValueBuilder) WithBitTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.BitText.CreateOptionalPropertyBuilder()) + var err error + b.BitText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithStatusFlags(statusFlags ReadableProperty) BitStringValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_BitStringValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithEventState(eventState OptionalProperty) BitStringValueBuilder { + b.EventState = eventState + return b +} + +func (b *_BitStringValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithReliability(reliability OptionalProperty) BitStringValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_BitStringValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithOutOfService(outOfService OptionalProperty) BitStringValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_BitStringValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithPriorityArray(priorityArray OptionalProperty) BitStringValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_BitStringValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) BitStringValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_BitStringValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithTimeDelay(timeDelay OptionalProperty) BitStringValueBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_BitStringValueBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithNotificationClass(notificationClass OptionalProperty) BitStringValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_BitStringValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithAlarmValues(alarmValues OptionalProperty) BitStringValueBuilder { + b.AlarmValues = alarmValues + return b +} + +func (b *_BitStringValueBuilder) WithAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.AlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithBitMask(bitMask OptionalProperty) BitStringValueBuilder { + b.BitMask = bitMask + return b +} + +func (b *_BitStringValueBuilder) WithBitMaskBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.BitMask.CreateOptionalPropertyBuilder()) + var err error + b.BitMask, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithEventEnable(eventEnable OptionalProperty) BitStringValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_BitStringValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) BitStringValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_BitStringValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithNotifyType(notifyType OptionalProperty) BitStringValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_BitStringValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) BitStringValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_BitStringValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) BitStringValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_BitStringValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) BitStringValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_BitStringValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) BitStringValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_BitStringValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) BitStringValueBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_BitStringValueBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) BitStringValueBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_BitStringValueBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) BitStringValueBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_BitStringValueBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) BitStringValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_BitStringValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithPropertyList(propertyList ReadableProperty) BitStringValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_BitStringValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) BitStringValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_BitStringValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithValueSource(valueSource OptionalProperty) BitStringValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_BitStringValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) BitStringValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_BitStringValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) BitStringValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_BitStringValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) BitStringValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_BitStringValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithTags(tags OptionalProperty) BitStringValueBuilder { + b.Tags = tags + return b +} + +func (b *_BitStringValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithProfileLocation(profileLocation OptionalProperty) BitStringValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_BitStringValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) WithProfileName(profileName OptionalProperty) BitStringValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_BitStringValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) BitStringValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_BitStringValueBuilder) Build() (BitStringValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.BitText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bitText' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.AlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValues' not set")) + } + if b.BitMask == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bitMask' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._BitStringValue.deepCopy(), nil +} + +func (b *_BitStringValueBuilder) MustBuild() BitStringValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_BitStringValueBuilder) DeepCopy() any { + _copy := b.CreateBitStringValueBuilder().(*_BitStringValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateBitStringValueBuilder creates a BitStringValueBuilder +func (b *_BitStringValue) CreateBitStringValueBuilder() BitStringValueBuilder { + if b == nil { + return NewBitStringValueBuilder() + } + return &_BitStringValueBuilder{_BitStringValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_BitStringValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_BitStringValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_BitStringValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_BitStringValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_BitStringValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_BitStringValue) GetBitText() OptionalProperty { + return m.BitText +} + +func (m *_BitStringValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_BitStringValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_BitStringValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_BitStringValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_BitStringValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_BitStringValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_BitStringValue) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_BitStringValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_BitStringValue) GetAlarmValues() OptionalProperty { + return m.AlarmValues +} + +func (m *_BitStringValue) GetBitMask() OptionalProperty { + return m.BitMask +} + +func (m *_BitStringValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_BitStringValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_BitStringValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_BitStringValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_BitStringValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_BitStringValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_BitStringValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_BitStringValue) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_BitStringValue) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_BitStringValue) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_BitStringValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_BitStringValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_BitStringValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_BitStringValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_BitStringValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_BitStringValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_BitStringValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_BitStringValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_BitStringValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_BitStringValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastBitStringValue(structType any) BitStringValue { + if casted, ok := structType.(BitStringValue); ok { + return casted + } + if casted, ok := structType.(*BitStringValue); ok { + return *casted + } + return nil +} + +func (m *_BitStringValue) GetTypeName() string { + return "BitStringValue" +} + +func (m *_BitStringValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (bitText) + lengthInBits += m.BitText.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (alarmValues) + lengthInBits += m.AlarmValues.GetLengthInBits(ctx) + + // Simple field (bitMask) + lengthInBits += m.BitMask.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_BitStringValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func BitStringValueParse(ctx context.Context, theBytes []byte) (BitStringValue, error) { + return BitStringValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func BitStringValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (BitStringValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (BitStringValue, error) { + return BitStringValueParseWithBuffer(ctx, readBuffer) + } +} + +func BitStringValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (BitStringValue, error) { + v, err := (&_BitStringValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_BitStringValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__bitStringValue BitStringValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("BitStringValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for BitStringValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BIT STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + bitText, err := ReadSimpleField[OptionalProperty](ctx, "bitText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bitText' field")) + } + m.BitText = bitText + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BIT STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + alarmValues, err := ReadSimpleField[OptionalProperty](ctx, "alarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BIT STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValues' field")) + } + m.AlarmValues = alarmValues + + bitMask, err := ReadSimpleField[OptionalProperty](ctx, "bitMask", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BIT STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bitMask' field")) + } + m.BitMask = bitMask + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("BitStringValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for BitStringValue") + } + + return m, nil +} + +func (m *_BitStringValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_BitStringValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("BitStringValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for BitStringValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bitText", m.GetBitText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bitText' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValues", m.GetAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bitMask", m.GetBitMask(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bitMask' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("BitStringValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for BitStringValue") + } + return nil +} + +func (m *_BitStringValue) IsBitStringValue() {} + +func (m *_BitStringValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_BitStringValue) deepCopy() *_BitStringValue { + if m == nil { + return nil + } + _BitStringValueCopy := &_BitStringValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.BitText.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.AlarmValues.DeepCopy().(OptionalProperty), + m.BitMask.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _BitStringValueCopy +} + +func (m *_BitStringValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Calendar.go b/plc4go/protocols/bacnetip/readwrite/model/Calendar.go new file mode 100644 index 00000000000..755bdc15097 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Calendar.go @@ -0,0 +1,768 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Calendar is the corresponding interface of Calendar +type Calendar interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDateList returns DateList (property field) + GetDateList() ReadableProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsCalendar is a marker method to prevent unintentional type checks (interfaces of same signature) + IsCalendar() + // CreateBuilder creates a CalendarBuilder + CreateCalendarBuilder() CalendarBuilder +} + +// _Calendar is the data-structure of this message +type _Calendar struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + DateList ReadableProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Calendar = (*_Calendar)(nil) + +// NewCalendar factory function for _Calendar +func NewCalendar(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, dateList ReadableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Calendar { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Calendar must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Calendar must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Calendar must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Calendar must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for Calendar must not be nil") + } + if dateList == nil { + panic("dateList of type ReadableProperty for Calendar must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Calendar must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Calendar must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Calendar must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Calendar must not be nil") + } + return &_Calendar{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, DateList: dateList, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// CalendarBuilder is a builder for Calendar +type CalendarBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, dateList ReadableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) CalendarBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) CalendarBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) CalendarBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) CalendarBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) CalendarBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CalendarBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) CalendarBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder + // WithDateList adds DateList (property field) + WithDateList(ReadableProperty) CalendarBuilder + // WithDateListBuilder adds DateList (property field) which is build by the builder + WithDateListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) CalendarBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) CalendarBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CalendarBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) CalendarBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CalendarBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) CalendarBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CalendarBuilder + // Build builds the Calendar or returns an error if something is wrong + Build() (Calendar, error) + // MustBuild does the same as Build but panics on error + MustBuild() Calendar +} + +// NewCalendarBuilder() creates a CalendarBuilder +func NewCalendarBuilder() CalendarBuilder { + return &_CalendarBuilder{_Calendar: new(_Calendar)} +} + +type _CalendarBuilder struct { + *_Calendar + + err *utils.MultiError +} + +var _ (CalendarBuilder) = (*_CalendarBuilder)(nil) + +func (b *_CalendarBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, dateList ReadableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) CalendarBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithDateList(dateList).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_CalendarBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) CalendarBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_CalendarBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) WithObjectName(objectName ReadableProperty) CalendarBuilder { + b.ObjectName = objectName + return b +} + +func (b *_CalendarBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) WithObjectType(objectType ReadableProperty) CalendarBuilder { + b.ObjectType = objectType + return b +} + +func (b *_CalendarBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) WithDescription(description OptionalProperty) CalendarBuilder { + b.Description = description + return b +} + +func (b *_CalendarBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) WithPresentValue(presentValue ReadableProperty) CalendarBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_CalendarBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) WithDateList(dateList ReadableProperty) CalendarBuilder { + b.DateList = dateList + return b +} + +func (b *_CalendarBuilder) WithDateListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.DateList.CreateReadablePropertyBuilder()) + var err error + b.DateList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) WithPropertyList(propertyList ReadableProperty) CalendarBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_CalendarBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) WithTags(tags OptionalProperty) CalendarBuilder { + b.Tags = tags + return b +} + +func (b *_CalendarBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) WithProfileLocation(profileLocation OptionalProperty) CalendarBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_CalendarBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) WithProfileName(profileName OptionalProperty) CalendarBuilder { + b.ProfileName = profileName + return b +} + +func (b *_CalendarBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CalendarBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CalendarBuilder) Build() (Calendar, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.DateList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'dateList' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Calendar.deepCopy(), nil +} + +func (b *_CalendarBuilder) MustBuild() Calendar { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_CalendarBuilder) DeepCopy() any { + _copy := b.CreateCalendarBuilder().(*_CalendarBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateCalendarBuilder creates a CalendarBuilder +func (b *_Calendar) CreateCalendarBuilder() CalendarBuilder { + if b == nil { + return NewCalendarBuilder() + } + return &_CalendarBuilder{_Calendar: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Calendar) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Calendar) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Calendar) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Calendar) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Calendar) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_Calendar) GetDateList() ReadableProperty { + return m.DateList +} + +func (m *_Calendar) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Calendar) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Calendar) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Calendar) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastCalendar(structType any) Calendar { + if casted, ok := structType.(Calendar); ok { + return casted + } + if casted, ok := structType.(*Calendar); ok { + return *casted + } + return nil +} + +func (m *_Calendar) GetTypeName() string { + return "Calendar" +} + +func (m *_Calendar) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (dateList) + lengthInBits += m.DateList.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Calendar) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func CalendarParse(ctx context.Context, theBytes []byte) (Calendar, error) { + return CalendarParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func CalendarParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Calendar, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Calendar, error) { + return CalendarParseWithBuffer(ctx, readBuffer) + } +} + +func CalendarParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Calendar, error) { + v, err := (&_Calendar{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Calendar) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__calendar Calendar, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Calendar"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Calendar") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + dateList, err := ReadSimpleField[ReadableProperty](ctx, "dateList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetCalendarEntry")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'dateList' field")) + } + m.DateList = dateList + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Calendar"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Calendar") + } + + return m, nil +} + +func (m *_Calendar) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Calendar) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Calendar"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Calendar") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "dateList", m.GetDateList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'dateList' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Calendar"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Calendar") + } + return nil +} + +func (m *_Calendar) IsCalendar() {} + +func (m *_Calendar) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Calendar) deepCopy() *_Calendar { + if m == nil { + return nil + } + _CalendarCopy := &_Calendar{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.DateList.DeepCopy().(ReadableProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _CalendarCopy +} + +func (m *_Calendar) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Channel.go b/plc4go/protocols/bacnetip/readwrite/model/Channel.go new file mode 100644 index 00000000000..ee493d7dec5 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Channel.go @@ -0,0 +1,1808 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Channel is the corresponding interface of Channel +type Channel interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() WritableProperty + // GetLastPriority returns LastPriority (property field) + GetLastPriority() ReadableProperty + // GetWriteStatus returns WriteStatus (property field) + GetWriteStatus() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetListOfObjectPropertyReferences returns ListOfObjectPropertyReferences (property field) + GetListOfObjectPropertyReferences() WritableProperty + // GetExecutionDelay returns ExecutionDelay (property field) + GetExecutionDelay() OptionalProperty + // GetAllowGroupDelayInhibit returns AllowGroupDelayInhibit (property field) + GetAllowGroupDelayInhibit() OptionalProperty + // GetChannelNumber returns ChannelNumber (property field) + GetChannelNumber() WritableProperty + // GetControlGroups returns ControlGroups (property field) + GetControlGroups() WritableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsChannel is a marker method to prevent unintentional type checks (interfaces of same signature) + IsChannel() + // CreateBuilder creates a ChannelBuilder + CreateChannelBuilder() ChannelBuilder +} + +// _Channel is the data-structure of this message +type _Channel struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue WritableProperty + LastPriority ReadableProperty + WriteStatus ReadableProperty + StatusFlags ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + ListOfObjectPropertyReferences WritableProperty + ExecutionDelay OptionalProperty + AllowGroupDelayInhibit OptionalProperty + ChannelNumber WritableProperty + ControlGroups WritableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + EventState OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + ValueSource OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Channel = (*_Channel)(nil) + +// NewChannel factory function for _Channel +func NewChannel(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue WritableProperty, lastPriority ReadableProperty, writeStatus ReadableProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, listOfObjectPropertyReferences WritableProperty, executionDelay OptionalProperty, allowGroupDelayInhibit OptionalProperty, channelNumber WritableProperty, controlGroups WritableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Channel { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Channel must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Channel must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Channel must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Channel must not be nil") + } + if presentValue == nil { + panic("presentValue of type WritableProperty for Channel must not be nil") + } + if lastPriority == nil { + panic("lastPriority of type ReadableProperty for Channel must not be nil") + } + if writeStatus == nil { + panic("writeStatus of type ReadableProperty for Channel must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for Channel must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for Channel must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for Channel must not be nil") + } + if listOfObjectPropertyReferences == nil { + panic("listOfObjectPropertyReferences of type WritableProperty for Channel must not be nil") + } + if executionDelay == nil { + panic("executionDelay of type OptionalProperty for Channel must not be nil") + } + if allowGroupDelayInhibit == nil { + panic("allowGroupDelayInhibit of type OptionalProperty for Channel must not be nil") + } + if channelNumber == nil { + panic("channelNumber of type WritableProperty for Channel must not be nil") + } + if controlGroups == nil { + panic("controlGroups of type WritableProperty for Channel must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Channel must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Channel must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Channel must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for Channel must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Channel must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Channel must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Channel must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Channel must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Channel must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Channel must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Channel must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for Channel must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Channel must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Channel must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Channel must not be nil") + } + return &_Channel{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, LastPriority: lastPriority, WriteStatus: writeStatus, StatusFlags: statusFlags, Reliability: reliability, OutOfService: outOfService, ListOfObjectPropertyReferences: listOfObjectPropertyReferences, ExecutionDelay: executionDelay, AllowGroupDelayInhibit: allowGroupDelayInhibit, ChannelNumber: channelNumber, ControlGroups: controlGroups, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, EventState: eventState, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, ValueSource: valueSource, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// ChannelBuilder is a builder for Channel +type ChannelBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue WritableProperty, lastPriority ReadableProperty, writeStatus ReadableProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, listOfObjectPropertyReferences WritableProperty, executionDelay OptionalProperty, allowGroupDelayInhibit OptionalProperty, channelNumber WritableProperty, controlGroups WritableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) ChannelBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) ChannelBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) ChannelBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) ChannelBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) ChannelBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(WritableProperty) ChannelBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) ChannelBuilder + // WithLastPriority adds LastPriority (property field) + WithLastPriority(ReadableProperty) ChannelBuilder + // WithLastPriorityBuilder adds LastPriority (property field) which is build by the builder + WithLastPriorityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder + // WithWriteStatus adds WriteStatus (property field) + WithWriteStatus(ReadableProperty) ChannelBuilder + // WithWriteStatusBuilder adds WriteStatus (property field) which is build by the builder + WithWriteStatusBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) ChannelBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) ChannelBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) ChannelBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder + // WithListOfObjectPropertyReferences adds ListOfObjectPropertyReferences (property field) + WithListOfObjectPropertyReferences(WritableProperty) ChannelBuilder + // WithListOfObjectPropertyReferencesBuilder adds ListOfObjectPropertyReferences (property field) which is build by the builder + WithListOfObjectPropertyReferencesBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) ChannelBuilder + // WithExecutionDelay adds ExecutionDelay (property field) + WithExecutionDelay(OptionalProperty) ChannelBuilder + // WithExecutionDelayBuilder adds ExecutionDelay (property field) which is build by the builder + WithExecutionDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithAllowGroupDelayInhibit adds AllowGroupDelayInhibit (property field) + WithAllowGroupDelayInhibit(OptionalProperty) ChannelBuilder + // WithAllowGroupDelayInhibitBuilder adds AllowGroupDelayInhibit (property field) which is build by the builder + WithAllowGroupDelayInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithChannelNumber adds ChannelNumber (property field) + WithChannelNumber(WritableProperty) ChannelBuilder + // WithChannelNumberBuilder adds ChannelNumber (property field) which is build by the builder + WithChannelNumberBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) ChannelBuilder + // WithControlGroups adds ControlGroups (property field) + WithControlGroups(WritableProperty) ChannelBuilder + // WithControlGroupsBuilder adds ControlGroups (property field) which is build by the builder + WithControlGroupsBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) ChannelBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) ChannelBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) ChannelBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) ChannelBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) ChannelBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) ChannelBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) ChannelBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) ChannelBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) ChannelBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) ChannelBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) ChannelBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) ChannelBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) ChannelBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) ChannelBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) ChannelBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) ChannelBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder + // Build builds the Channel or returns an error if something is wrong + Build() (Channel, error) + // MustBuild does the same as Build but panics on error + MustBuild() Channel +} + +// NewChannelBuilder() creates a ChannelBuilder +func NewChannelBuilder() ChannelBuilder { + return &_ChannelBuilder{_Channel: new(_Channel)} +} + +type _ChannelBuilder struct { + *_Channel + + err *utils.MultiError +} + +var _ (ChannelBuilder) = (*_ChannelBuilder)(nil) + +func (b *_ChannelBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue WritableProperty, lastPriority ReadableProperty, writeStatus ReadableProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, listOfObjectPropertyReferences WritableProperty, executionDelay OptionalProperty, allowGroupDelayInhibit OptionalProperty, channelNumber WritableProperty, controlGroups WritableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) ChannelBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithLastPriority(lastPriority).WithWriteStatus(writeStatus).WithStatusFlags(statusFlags).WithReliability(reliability).WithOutOfService(outOfService).WithListOfObjectPropertyReferences(listOfObjectPropertyReferences).WithExecutionDelay(executionDelay).WithAllowGroupDelayInhibit(allowGroupDelayInhibit).WithChannelNumber(channelNumber).WithControlGroups(controlGroups).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithEventState(eventState).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithValueSource(valueSource).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_ChannelBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) ChannelBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_ChannelBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithObjectName(objectName ReadableProperty) ChannelBuilder { + b.ObjectName = objectName + return b +} + +func (b *_ChannelBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithObjectType(objectType ReadableProperty) ChannelBuilder { + b.ObjectType = objectType + return b +} + +func (b *_ChannelBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithDescription(description OptionalProperty) ChannelBuilder { + b.Description = description + return b +} + +func (b *_ChannelBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithPresentValue(presentValue WritableProperty) ChannelBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_ChannelBuilder) WithPresentValueBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.PresentValue.CreateWritablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithLastPriority(lastPriority ReadableProperty) ChannelBuilder { + b.LastPriority = lastPriority + return b +} + +func (b *_ChannelBuilder) WithLastPriorityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.LastPriority.CreateReadablePropertyBuilder()) + var err error + b.LastPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithWriteStatus(writeStatus ReadableProperty) ChannelBuilder { + b.WriteStatus = writeStatus + return b +} + +func (b *_ChannelBuilder) WithWriteStatusBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.WriteStatus.CreateReadablePropertyBuilder()) + var err error + b.WriteStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithStatusFlags(statusFlags ReadableProperty) ChannelBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_ChannelBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithReliability(reliability OptionalProperty) ChannelBuilder { + b.Reliability = reliability + return b +} + +func (b *_ChannelBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithOutOfService(outOfService ReadableProperty) ChannelBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_ChannelBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithListOfObjectPropertyReferences(listOfObjectPropertyReferences WritableProperty) ChannelBuilder { + b.ListOfObjectPropertyReferences = listOfObjectPropertyReferences + return b +} + +func (b *_ChannelBuilder) WithListOfObjectPropertyReferencesBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ListOfObjectPropertyReferences.CreateWritablePropertyBuilder()) + var err error + b.ListOfObjectPropertyReferences, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithExecutionDelay(executionDelay OptionalProperty) ChannelBuilder { + b.ExecutionDelay = executionDelay + return b +} + +func (b *_ChannelBuilder) WithExecutionDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ExecutionDelay.CreateOptionalPropertyBuilder()) + var err error + b.ExecutionDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithAllowGroupDelayInhibit(allowGroupDelayInhibit OptionalProperty) ChannelBuilder { + b.AllowGroupDelayInhibit = allowGroupDelayInhibit + return b +} + +func (b *_ChannelBuilder) WithAllowGroupDelayInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.AllowGroupDelayInhibit.CreateOptionalPropertyBuilder()) + var err error + b.AllowGroupDelayInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithChannelNumber(channelNumber WritableProperty) ChannelBuilder { + b.ChannelNumber = channelNumber + return b +} + +func (b *_ChannelBuilder) WithChannelNumberBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ChannelNumber.CreateWritablePropertyBuilder()) + var err error + b.ChannelNumber, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithControlGroups(controlGroups WritableProperty) ChannelBuilder { + b.ControlGroups = controlGroups + return b +} + +func (b *_ChannelBuilder) WithControlGroupsBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ControlGroups.CreateWritablePropertyBuilder()) + var err error + b.ControlGroups, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) ChannelBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_ChannelBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithNotificationClass(notificationClass OptionalProperty) ChannelBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_ChannelBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithEventEnable(eventEnable OptionalProperty) ChannelBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_ChannelBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithEventState(eventState OptionalProperty) ChannelBuilder { + b.EventState = eventState + return b +} + +func (b *_ChannelBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) ChannelBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_ChannelBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithNotifyType(notifyType OptionalProperty) ChannelBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_ChannelBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) ChannelBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_ChannelBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) ChannelBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_ChannelBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) ChannelBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_ChannelBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) ChannelBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_ChannelBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithPropertyList(propertyList ReadableProperty) ChannelBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_ChannelBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithValueSource(valueSource OptionalProperty) ChannelBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_ChannelBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithTags(tags OptionalProperty) ChannelBuilder { + b.Tags = tags + return b +} + +func (b *_ChannelBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithProfileLocation(profileLocation OptionalProperty) ChannelBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_ChannelBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) WithProfileName(profileName OptionalProperty) ChannelBuilder { + b.ProfileName = profileName + return b +} + +func (b *_ChannelBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ChannelBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ChannelBuilder) Build() (Channel, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.LastPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastPriority' not set")) + } + if b.WriteStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'writeStatus' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.ListOfObjectPropertyReferences == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'listOfObjectPropertyReferences' not set")) + } + if b.ExecutionDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'executionDelay' not set")) + } + if b.AllowGroupDelayInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'allowGroupDelayInhibit' not set")) + } + if b.ChannelNumber == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'channelNumber' not set")) + } + if b.ControlGroups == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'controlGroups' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Channel.deepCopy(), nil +} + +func (b *_ChannelBuilder) MustBuild() Channel { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_ChannelBuilder) DeepCopy() any { + _copy := b.CreateChannelBuilder().(*_ChannelBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateChannelBuilder creates a ChannelBuilder +func (b *_Channel) CreateChannelBuilder() ChannelBuilder { + if b == nil { + return NewChannelBuilder() + } + return &_ChannelBuilder{_Channel: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Channel) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Channel) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Channel) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Channel) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Channel) GetPresentValue() WritableProperty { + return m.PresentValue +} + +func (m *_Channel) GetLastPriority() ReadableProperty { + return m.LastPriority +} + +func (m *_Channel) GetWriteStatus() ReadableProperty { + return m.WriteStatus +} + +func (m *_Channel) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_Channel) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_Channel) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_Channel) GetListOfObjectPropertyReferences() WritableProperty { + return m.ListOfObjectPropertyReferences +} + +func (m *_Channel) GetExecutionDelay() OptionalProperty { + return m.ExecutionDelay +} + +func (m *_Channel) GetAllowGroupDelayInhibit() OptionalProperty { + return m.AllowGroupDelayInhibit +} + +func (m *_Channel) GetChannelNumber() WritableProperty { + return m.ChannelNumber +} + +func (m *_Channel) GetControlGroups() WritableProperty { + return m.ControlGroups +} + +func (m *_Channel) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Channel) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Channel) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Channel) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_Channel) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Channel) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Channel) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Channel) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Channel) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Channel) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Channel) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Channel) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_Channel) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Channel) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Channel) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastChannel(structType any) Channel { + if casted, ok := structType.(Channel); ok { + return casted + } + if casted, ok := structType.(*Channel); ok { + return *casted + } + return nil +} + +func (m *_Channel) GetTypeName() string { + return "Channel" +} + +func (m *_Channel) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (lastPriority) + lengthInBits += m.LastPriority.GetLengthInBits(ctx) + + // Simple field (writeStatus) + lengthInBits += m.WriteStatus.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (listOfObjectPropertyReferences) + lengthInBits += m.ListOfObjectPropertyReferences.GetLengthInBits(ctx) + + // Simple field (executionDelay) + lengthInBits += m.ExecutionDelay.GetLengthInBits(ctx) + + // Simple field (allowGroupDelayInhibit) + lengthInBits += m.AllowGroupDelayInhibit.GetLengthInBits(ctx) + + // Simple field (channelNumber) + lengthInBits += m.ChannelNumber.GetLengthInBits(ctx) + + // Simple field (controlGroups) + lengthInBits += m.ControlGroups.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Channel) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func ChannelParse(ctx context.Context, theBytes []byte) (Channel, error) { + return ChannelParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func ChannelParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Channel, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Channel, error) { + return ChannelParseWithBuffer(ctx, readBuffer) + } +} + +func ChannelParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Channel, error) { + v, err := (&_Channel{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Channel) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__channel Channel, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Channel"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Channel") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[WritableProperty](ctx, "presentValue", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetChannelValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + lastPriority, err := ReadSimpleField[ReadableProperty](ctx, "lastPriority", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastPriority' field")) + } + m.LastPriority = lastPriority + + writeStatus, err := ReadSimpleField[ReadableProperty](ctx, "writeStatus", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetWriteStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'writeStatus' field")) + } + m.WriteStatus = writeStatus + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + listOfObjectPropertyReferences, err := ReadSimpleField[WritableProperty](ctx, "listOfObjectPropertyReferences", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetDeviceObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'listOfObjectPropertyReferences' field")) + } + m.ListOfObjectPropertyReferences = listOfObjectPropertyReferences + + executionDelay, err := ReadSimpleField[OptionalProperty](ctx, "executionDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'executionDelay' field")) + } + m.ExecutionDelay = executionDelay + + allowGroupDelayInhibit, err := ReadSimpleField[OptionalProperty](ctx, "allowGroupDelayInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'allowGroupDelayInhibit' field")) + } + m.AllowGroupDelayInhibit = allowGroupDelayInhibit + + channelNumber, err := ReadSimpleField[WritableProperty](ctx, "channelNumber", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'channelNumber' field")) + } + m.ChannelNumber = channelNumber + + controlGroups, err := ReadSimpleField[WritableProperty](ctx, "controlGroups", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'controlGroups' field")) + } + m.ControlGroups = controlGroups + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Channel"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Channel") + } + + return m, nil +} + +func (m *_Channel) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Channel) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Channel"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Channel") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "lastPriority", m.GetLastPriority(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastPriority' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "writeStatus", m.GetWriteStatus(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'writeStatus' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "listOfObjectPropertyReferences", m.GetListOfObjectPropertyReferences(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'listOfObjectPropertyReferences' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "executionDelay", m.GetExecutionDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'executionDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "allowGroupDelayInhibit", m.GetAllowGroupDelayInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'allowGroupDelayInhibit' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "channelNumber", m.GetChannelNumber(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'channelNumber' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "controlGroups", m.GetControlGroups(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'controlGroups' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Channel"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Channel") + } + return nil +} + +func (m *_Channel) IsChannel() {} + +func (m *_Channel) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Channel) deepCopy() *_Channel { + if m == nil { + return nil + } + _ChannelCopy := &_Channel{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(WritableProperty), + m.LastPriority.DeepCopy().(ReadableProperty), + m.WriteStatus.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.ListOfObjectPropertyReferences.DeepCopy().(WritableProperty), + m.ExecutionDelay.DeepCopy().(OptionalProperty), + m.AllowGroupDelayInhibit.DeepCopy().(OptionalProperty), + m.ChannelNumber.DeepCopy().(WritableProperty), + m.ControlGroups.DeepCopy().(WritableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _ChannelCopy +} + +func (m *_Channel) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/CharacterStringValue.go b/plc4go/protocols/bacnetip/readwrite/model/CharacterStringValue.go new file mode 100644 index 00000000000..75caedae793 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/CharacterStringValue.go @@ -0,0 +1,2068 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// CharacterStringValue is the corresponding interface of CharacterStringValue +type CharacterStringValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetAlarmValues returns AlarmValues (property field) + GetAlarmValues() OptionalProperty + // GetFaultValues returns FaultValues (property field) + GetFaultValues() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsCharacterStringValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsCharacterStringValue() + // CreateBuilder creates a CharacterStringValueBuilder + CreateCharacterStringValueBuilder() CharacterStringValueBuilder +} + +// _CharacterStringValue is the data-structure of this message +type _CharacterStringValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + AlarmValues OptionalProperty + FaultValues OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ CharacterStringValue = (*_CharacterStringValue)(nil) + +// NewCharacterStringValue factory function for _CharacterStringValue +func NewCharacterStringValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_CharacterStringValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for CharacterStringValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for CharacterStringValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for CharacterStringValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for CharacterStringValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for CharacterStringValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for CharacterStringValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for CharacterStringValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for CharacterStringValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for CharacterStringValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for CharacterStringValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for CharacterStringValue must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for CharacterStringValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for CharacterStringValue must not be nil") + } + if alarmValues == nil { + panic("alarmValues of type OptionalProperty for CharacterStringValue must not be nil") + } + if faultValues == nil { + panic("faultValues of type OptionalProperty for CharacterStringValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for CharacterStringValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for CharacterStringValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for CharacterStringValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for CharacterStringValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for CharacterStringValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for CharacterStringValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for CharacterStringValue must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for CharacterStringValue must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for CharacterStringValue must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for CharacterStringValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for CharacterStringValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for CharacterStringValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for CharacterStringValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for CharacterStringValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for CharacterStringValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for CharacterStringValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for CharacterStringValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for CharacterStringValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for CharacterStringValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for CharacterStringValue must not be nil") + } + return &_CharacterStringValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, TimeDelay: timeDelay, NotificationClass: notificationClass, AlarmValues: alarmValues, FaultValues: faultValues, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// CharacterStringValueBuilder is a builder for CharacterStringValue +type CharacterStringValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) CharacterStringValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) CharacterStringValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) CharacterStringValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) CharacterStringValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) CharacterStringValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) CharacterStringValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) CharacterStringValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) CharacterStringValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) CharacterStringValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) CharacterStringValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) CharacterStringValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) CharacterStringValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) CharacterStringValueBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) CharacterStringValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithAlarmValues adds AlarmValues (property field) + WithAlarmValues(OptionalProperty) CharacterStringValueBuilder + // WithAlarmValuesBuilder adds AlarmValues (property field) which is build by the builder + WithAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithFaultValues adds FaultValues (property field) + WithFaultValues(OptionalProperty) CharacterStringValueBuilder + // WithFaultValuesBuilder adds FaultValues (property field) which is build by the builder + WithFaultValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) CharacterStringValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) CharacterStringValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) CharacterStringValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) CharacterStringValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) CharacterStringValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) CharacterStringValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) CharacterStringValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) CharacterStringValueBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) CharacterStringValueBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) CharacterStringValueBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) CharacterStringValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) CharacterStringValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) CharacterStringValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) CharacterStringValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) CharacterStringValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) CharacterStringValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) CharacterStringValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) CharacterStringValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) CharacterStringValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) CharacterStringValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder + // Build builds the CharacterStringValue or returns an error if something is wrong + Build() (CharacterStringValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() CharacterStringValue +} + +// NewCharacterStringValueBuilder() creates a CharacterStringValueBuilder +func NewCharacterStringValueBuilder() CharacterStringValueBuilder { + return &_CharacterStringValueBuilder{_CharacterStringValue: new(_CharacterStringValue)} +} + +type _CharacterStringValueBuilder struct { + *_CharacterStringValue + + err *utils.MultiError +} + +var _ (CharacterStringValueBuilder) = (*_CharacterStringValueBuilder)(nil) + +func (b *_CharacterStringValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) CharacterStringValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithAlarmValues(alarmValues).WithFaultValues(faultValues).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_CharacterStringValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) CharacterStringValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_CharacterStringValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithObjectName(objectName ReadableProperty) CharacterStringValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_CharacterStringValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithObjectType(objectType ReadableProperty) CharacterStringValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_CharacterStringValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithDescription(description OptionalProperty) CharacterStringValueBuilder { + b.Description = description + return b +} + +func (b *_CharacterStringValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithPresentValue(presentValue ReadableProperty) CharacterStringValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_CharacterStringValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithStatusFlags(statusFlags ReadableProperty) CharacterStringValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_CharacterStringValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithEventState(eventState OptionalProperty) CharacterStringValueBuilder { + b.EventState = eventState + return b +} + +func (b *_CharacterStringValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithReliability(reliability OptionalProperty) CharacterStringValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_CharacterStringValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithOutOfService(outOfService OptionalProperty) CharacterStringValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_CharacterStringValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithPriorityArray(priorityArray OptionalProperty) CharacterStringValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_CharacterStringValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) CharacterStringValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_CharacterStringValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithTimeDelay(timeDelay OptionalProperty) CharacterStringValueBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_CharacterStringValueBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithNotificationClass(notificationClass OptionalProperty) CharacterStringValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_CharacterStringValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithAlarmValues(alarmValues OptionalProperty) CharacterStringValueBuilder { + b.AlarmValues = alarmValues + return b +} + +func (b *_CharacterStringValueBuilder) WithAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.AlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithFaultValues(faultValues OptionalProperty) CharacterStringValueBuilder { + b.FaultValues = faultValues + return b +} + +func (b *_CharacterStringValueBuilder) WithFaultValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.FaultValues.CreateOptionalPropertyBuilder()) + var err error + b.FaultValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithEventEnable(eventEnable OptionalProperty) CharacterStringValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_CharacterStringValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) CharacterStringValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_CharacterStringValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithNotifyType(notifyType OptionalProperty) CharacterStringValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_CharacterStringValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) CharacterStringValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_CharacterStringValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) CharacterStringValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_CharacterStringValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) CharacterStringValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_CharacterStringValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) CharacterStringValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_CharacterStringValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) CharacterStringValueBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_CharacterStringValueBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) CharacterStringValueBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_CharacterStringValueBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) CharacterStringValueBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_CharacterStringValueBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) CharacterStringValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_CharacterStringValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithPropertyList(propertyList ReadableProperty) CharacterStringValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_CharacterStringValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) CharacterStringValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_CharacterStringValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithValueSource(valueSource OptionalProperty) CharacterStringValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_CharacterStringValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) CharacterStringValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_CharacterStringValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) CharacterStringValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_CharacterStringValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) CharacterStringValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_CharacterStringValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithTags(tags OptionalProperty) CharacterStringValueBuilder { + b.Tags = tags + return b +} + +func (b *_CharacterStringValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithProfileLocation(profileLocation OptionalProperty) CharacterStringValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_CharacterStringValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) WithProfileName(profileName OptionalProperty) CharacterStringValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_CharacterStringValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CharacterStringValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CharacterStringValueBuilder) Build() (CharacterStringValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.AlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValues' not set")) + } + if b.FaultValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultValues' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._CharacterStringValue.deepCopy(), nil +} + +func (b *_CharacterStringValueBuilder) MustBuild() CharacterStringValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_CharacterStringValueBuilder) DeepCopy() any { + _copy := b.CreateCharacterStringValueBuilder().(*_CharacterStringValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateCharacterStringValueBuilder creates a CharacterStringValueBuilder +func (b *_CharacterStringValue) CreateCharacterStringValueBuilder() CharacterStringValueBuilder { + if b == nil { + return NewCharacterStringValueBuilder() + } + return &_CharacterStringValueBuilder{_CharacterStringValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_CharacterStringValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_CharacterStringValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_CharacterStringValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_CharacterStringValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_CharacterStringValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_CharacterStringValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_CharacterStringValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_CharacterStringValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_CharacterStringValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_CharacterStringValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_CharacterStringValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_CharacterStringValue) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_CharacterStringValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_CharacterStringValue) GetAlarmValues() OptionalProperty { + return m.AlarmValues +} + +func (m *_CharacterStringValue) GetFaultValues() OptionalProperty { + return m.FaultValues +} + +func (m *_CharacterStringValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_CharacterStringValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_CharacterStringValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_CharacterStringValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_CharacterStringValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_CharacterStringValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_CharacterStringValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_CharacterStringValue) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_CharacterStringValue) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_CharacterStringValue) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_CharacterStringValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_CharacterStringValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_CharacterStringValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_CharacterStringValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_CharacterStringValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_CharacterStringValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_CharacterStringValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_CharacterStringValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_CharacterStringValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_CharacterStringValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastCharacterStringValue(structType any) CharacterStringValue { + if casted, ok := structType.(CharacterStringValue); ok { + return casted + } + if casted, ok := structType.(*CharacterStringValue); ok { + return *casted + } + return nil +} + +func (m *_CharacterStringValue) GetTypeName() string { + return "CharacterStringValue" +} + +func (m *_CharacterStringValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (alarmValues) + lengthInBits += m.AlarmValues.GetLengthInBits(ctx) + + // Simple field (faultValues) + lengthInBits += m.FaultValues.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_CharacterStringValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func CharacterStringValueParse(ctx context.Context, theBytes []byte) (CharacterStringValue, error) { + return CharacterStringValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func CharacterStringValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (CharacterStringValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (CharacterStringValue, error) { + return CharacterStringValueParseWithBuffer(ctx, readBuffer) + } +} + +func CharacterStringValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (CharacterStringValue, error) { + v, err := (&_CharacterStringValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_CharacterStringValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__characterStringValue CharacterStringValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("CharacterStringValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for CharacterStringValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + alarmValues, err := ReadSimpleField[OptionalProperty](ctx, "alarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetOptionalCharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValues' field")) + } + m.AlarmValues = alarmValues + + faultValues, err := ReadSimpleField[OptionalProperty](ctx, "faultValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetOptionalCharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultValues' field")) + } + m.FaultValues = faultValues + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("CharacterStringValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for CharacterStringValue") + } + + return m, nil +} + +func (m *_CharacterStringValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_CharacterStringValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("CharacterStringValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for CharacterStringValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValues", m.GetAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultValues", m.GetFaultValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("CharacterStringValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for CharacterStringValue") + } + return nil +} + +func (m *_CharacterStringValue) IsCharacterStringValue() {} + +func (m *_CharacterStringValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_CharacterStringValue) deepCopy() *_CharacterStringValue { + if m == nil { + return nil + } + _CharacterStringValueCopy := &_CharacterStringValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.AlarmValues.DeepCopy().(OptionalProperty), + m.FaultValues.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _CharacterStringValueCopy +} + +func (m *_CharacterStringValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Command.go b/plc4go/protocols/bacnetip/readwrite/model/Command.go new file mode 100644 index 00000000000..47b631f49d6 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Command.go @@ -0,0 +1,1600 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Command is the corresponding interface of Command +type Command interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() WritableProperty + // GetInProcess returns InProcess (property field) + GetInProcess() ReadableProperty + // GetAllWritesSuccessful returns AllWritesSuccessful (property field) + GetAllWritesSuccessful() ReadableProperty + // GetAction returns Action (property field) + GetAction() ReadableProperty + // GetActionText returns ActionText (property field) + GetActionText() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsCommand is a marker method to prevent unintentional type checks (interfaces of same signature) + IsCommand() + // CreateBuilder creates a CommandBuilder + CreateCommandBuilder() CommandBuilder +} + +// _Command is the data-structure of this message +type _Command struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue WritableProperty + InProcess ReadableProperty + AllWritesSuccessful ReadableProperty + Action ReadableProperty + ActionText OptionalProperty + PropertyList ReadableProperty + StatusFlags OptionalProperty + EventState OptionalProperty + Reliability OptionalProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + ValueSource OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Command = (*_Command)(nil) + +// NewCommand factory function for _Command +func NewCommand(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue WritableProperty, inProcess ReadableProperty, allWritesSuccessful ReadableProperty, action ReadableProperty, actionText OptionalProperty, propertyList ReadableProperty, statusFlags OptionalProperty, eventState OptionalProperty, reliability OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Command { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Command must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Command must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Command must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Command must not be nil") + } + if presentValue == nil { + panic("presentValue of type WritableProperty for Command must not be nil") + } + if inProcess == nil { + panic("inProcess of type ReadableProperty for Command must not be nil") + } + if allWritesSuccessful == nil { + panic("allWritesSuccessful of type ReadableProperty for Command must not be nil") + } + if action == nil { + panic("action of type ReadableProperty for Command must not be nil") + } + if actionText == nil { + panic("actionText of type OptionalProperty for Command must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Command must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type OptionalProperty for Command must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for Command must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for Command must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Command must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Command must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Command must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Command must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Command must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Command must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Command must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Command must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Command must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for Command must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Command must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Command must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Command must not be nil") + } + return &_Command{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, InProcess: inProcess, AllWritesSuccessful: allWritesSuccessful, Action: action, ActionText: actionText, PropertyList: propertyList, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, ValueSource: valueSource, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// CommandBuilder is a builder for Command +type CommandBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue WritableProperty, inProcess ReadableProperty, allWritesSuccessful ReadableProperty, action ReadableProperty, actionText OptionalProperty, propertyList ReadableProperty, statusFlags OptionalProperty, eventState OptionalProperty, reliability OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) CommandBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) CommandBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) CommandBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) CommandBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) CommandBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(WritableProperty) CommandBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) CommandBuilder + // WithInProcess adds InProcess (property field) + WithInProcess(ReadableProperty) CommandBuilder + // WithInProcessBuilder adds InProcess (property field) which is build by the builder + WithInProcessBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder + // WithAllWritesSuccessful adds AllWritesSuccessful (property field) + WithAllWritesSuccessful(ReadableProperty) CommandBuilder + // WithAllWritesSuccessfulBuilder adds AllWritesSuccessful (property field) which is build by the builder + WithAllWritesSuccessfulBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder + // WithAction adds Action (property field) + WithAction(ReadableProperty) CommandBuilder + // WithActionBuilder adds Action (property field) which is build by the builder + WithActionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder + // WithActionText adds ActionText (property field) + WithActionText(OptionalProperty) CommandBuilder + // WithActionTextBuilder adds ActionText (property field) which is build by the builder + WithActionTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) CommandBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(OptionalProperty) CommandBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) CommandBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) CommandBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) CommandBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) CommandBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) CommandBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) CommandBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) CommandBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) CommandBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) CommandBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) CommandBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) CommandBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) CommandBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) CommandBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) CommandBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) CommandBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder + // Build builds the Command or returns an error if something is wrong + Build() (Command, error) + // MustBuild does the same as Build but panics on error + MustBuild() Command +} + +// NewCommandBuilder() creates a CommandBuilder +func NewCommandBuilder() CommandBuilder { + return &_CommandBuilder{_Command: new(_Command)} +} + +type _CommandBuilder struct { + *_Command + + err *utils.MultiError +} + +var _ (CommandBuilder) = (*_CommandBuilder)(nil) + +func (b *_CommandBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue WritableProperty, inProcess ReadableProperty, allWritesSuccessful ReadableProperty, action ReadableProperty, actionText OptionalProperty, propertyList ReadableProperty, statusFlags OptionalProperty, eventState OptionalProperty, reliability OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) CommandBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithInProcess(inProcess).WithAllWritesSuccessful(allWritesSuccessful).WithAction(action).WithActionText(actionText).WithPropertyList(propertyList).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithValueSource(valueSource).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_CommandBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) CommandBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_CommandBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithObjectName(objectName ReadableProperty) CommandBuilder { + b.ObjectName = objectName + return b +} + +func (b *_CommandBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithObjectType(objectType ReadableProperty) CommandBuilder { + b.ObjectType = objectType + return b +} + +func (b *_CommandBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithDescription(description OptionalProperty) CommandBuilder { + b.Description = description + return b +} + +func (b *_CommandBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithPresentValue(presentValue WritableProperty) CommandBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_CommandBuilder) WithPresentValueBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) CommandBuilder { + builder := builderSupplier(b.PresentValue.CreateWritablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithInProcess(inProcess ReadableProperty) CommandBuilder { + b.InProcess = inProcess + return b +} + +func (b *_CommandBuilder) WithInProcessBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder { + builder := builderSupplier(b.InProcess.CreateReadablePropertyBuilder()) + var err error + b.InProcess, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithAllWritesSuccessful(allWritesSuccessful ReadableProperty) CommandBuilder { + b.AllWritesSuccessful = allWritesSuccessful + return b +} + +func (b *_CommandBuilder) WithAllWritesSuccessfulBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder { + builder := builderSupplier(b.AllWritesSuccessful.CreateReadablePropertyBuilder()) + var err error + b.AllWritesSuccessful, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithAction(action ReadableProperty) CommandBuilder { + b.Action = action + return b +} + +func (b *_CommandBuilder) WithActionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder { + builder := builderSupplier(b.Action.CreateReadablePropertyBuilder()) + var err error + b.Action, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithActionText(actionText OptionalProperty) CommandBuilder { + b.ActionText = actionText + return b +} + +func (b *_CommandBuilder) WithActionTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.ActionText.CreateOptionalPropertyBuilder()) + var err error + b.ActionText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithPropertyList(propertyList ReadableProperty) CommandBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_CommandBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CommandBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithStatusFlags(statusFlags OptionalProperty) CommandBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_CommandBuilder) WithStatusFlagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.StatusFlags.CreateOptionalPropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithEventState(eventState OptionalProperty) CommandBuilder { + b.EventState = eventState + return b +} + +func (b *_CommandBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithReliability(reliability OptionalProperty) CommandBuilder { + b.Reliability = reliability + return b +} + +func (b *_CommandBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) CommandBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_CommandBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithNotificationClass(notificationClass OptionalProperty) CommandBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_CommandBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithEventEnable(eventEnable OptionalProperty) CommandBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_CommandBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) CommandBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_CommandBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithNotifyType(notifyType OptionalProperty) CommandBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_CommandBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) CommandBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_CommandBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) CommandBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_CommandBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) CommandBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_CommandBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) CommandBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_CommandBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithValueSource(valueSource OptionalProperty) CommandBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_CommandBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithTags(tags OptionalProperty) CommandBuilder { + b.Tags = tags + return b +} + +func (b *_CommandBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithProfileLocation(profileLocation OptionalProperty) CommandBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_CommandBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) WithProfileName(profileName OptionalProperty) CommandBuilder { + b.ProfileName = profileName + return b +} + +func (b *_CommandBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CommandBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CommandBuilder) Build() (Command, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.InProcess == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'inProcess' not set")) + } + if b.AllWritesSuccessful == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'allWritesSuccessful' not set")) + } + if b.Action == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'action' not set")) + } + if b.ActionText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'actionText' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Command.deepCopy(), nil +} + +func (b *_CommandBuilder) MustBuild() Command { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_CommandBuilder) DeepCopy() any { + _copy := b.CreateCommandBuilder().(*_CommandBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateCommandBuilder creates a CommandBuilder +func (b *_Command) CreateCommandBuilder() CommandBuilder { + if b == nil { + return NewCommandBuilder() + } + return &_CommandBuilder{_Command: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Command) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Command) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Command) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Command) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Command) GetPresentValue() WritableProperty { + return m.PresentValue +} + +func (m *_Command) GetInProcess() ReadableProperty { + return m.InProcess +} + +func (m *_Command) GetAllWritesSuccessful() ReadableProperty { + return m.AllWritesSuccessful +} + +func (m *_Command) GetAction() ReadableProperty { + return m.Action +} + +func (m *_Command) GetActionText() OptionalProperty { + return m.ActionText +} + +func (m *_Command) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Command) GetStatusFlags() OptionalProperty { + return m.StatusFlags +} + +func (m *_Command) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_Command) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_Command) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Command) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Command) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Command) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Command) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Command) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Command) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Command) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Command) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Command) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_Command) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Command) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Command) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastCommand(structType any) Command { + if casted, ok := structType.(Command); ok { + return casted + } + if casted, ok := structType.(*Command); ok { + return *casted + } + return nil +} + +func (m *_Command) GetTypeName() string { + return "Command" +} + +func (m *_Command) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (inProcess) + lengthInBits += m.InProcess.GetLengthInBits(ctx) + + // Simple field (allWritesSuccessful) + lengthInBits += m.AllWritesSuccessful.GetLengthInBits(ctx) + + // Simple field (action) + lengthInBits += m.Action.GetLengthInBits(ctx) + + // Simple field (actionText) + lengthInBits += m.ActionText.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Command) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func CommandParse(ctx context.Context, theBytes []byte) (Command, error) { + return CommandParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func CommandParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Command, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Command, error) { + return CommandParseWithBuffer(ctx, readBuffer) + } +} + +func CommandParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Command, error) { + v, err := (&_Command{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Command) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__command Command, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Command"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Command") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[WritableProperty](ctx, "presentValue", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + inProcess, err := ReadSimpleField[ReadableProperty](ctx, "inProcess", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'inProcess' field")) + } + m.InProcess = inProcess + + allWritesSuccessful, err := ReadSimpleField[ReadableProperty](ctx, "allWritesSuccessful", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'allWritesSuccessful' field")) + } + m.AllWritesSuccessful = allWritesSuccessful + + action, err := ReadSimpleField[ReadableProperty](ctx, "action", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetActionList")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'action' field")) + } + m.Action = action + + actionText, err := ReadSimpleField[OptionalProperty](ctx, "actionText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'actionText' field")) + } + m.ActionText = actionText + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + statusFlags, err := ReadSimpleField[OptionalProperty](ctx, "statusFlags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Command"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Command") + } + + return m, nil +} + +func (m *_Command) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Command) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Command"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Command") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "inProcess", m.GetInProcess(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'inProcess' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "allWritesSuccessful", m.GetAllWritesSuccessful(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'allWritesSuccessful' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "action", m.GetAction(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'action' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "actionText", m.GetActionText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'actionText' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Command"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Command") + } + return nil +} + +func (m *_Command) IsCommand() {} + +func (m *_Command) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Command) deepCopy() *_Command { + if m == nil { + return nil + } + _CommandCopy := &_Command{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(WritableProperty), + m.InProcess.DeepCopy().(ReadableProperty), + m.AllWritesSuccessful.DeepCopy().(ReadableProperty), + m.Action.DeepCopy().(ReadableProperty), + m.ActionText.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _CommandCopy +} + +func (m *_Command) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/CredentialDataInput.go b/plc4go/protocols/bacnetip/readwrite/model/CredentialDataInput.go new file mode 100644 index 00000000000..3f7fd143262 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/CredentialDataInput.go @@ -0,0 +1,1548 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// CredentialDataInput is the corresponding interface of CredentialDataInput +type CredentialDataInput interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetSupportedFormats returns SupportedFormats (property field) + GetSupportedFormats() ReadableProperty + // GetSupportedFormatClasses returns SupportedFormatClasses (property field) + GetSupportedFormatClasses() OptionalProperty + // GetUpdateTime returns UpdateTime (property field) + GetUpdateTime() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsCredentialDataInput is a marker method to prevent unintentional type checks (interfaces of same signature) + IsCredentialDataInput() + // CreateBuilder creates a CredentialDataInputBuilder + CreateCredentialDataInputBuilder() CredentialDataInputBuilder +} + +// _CredentialDataInput is the data-structure of this message +type _CredentialDataInput struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + Reliability ReadableProperty + OutOfService ReadableProperty + SupportedFormats ReadableProperty + SupportedFormatClasses OptionalProperty + UpdateTime ReadableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + EventState OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ CredentialDataInput = (*_CredentialDataInput)(nil) + +// NewCredentialDataInput factory function for _CredentialDataInput +func NewCredentialDataInput(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, supportedFormats ReadableProperty, supportedFormatClasses OptionalProperty, updateTime ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_CredentialDataInput { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for CredentialDataInput must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for CredentialDataInput must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for CredentialDataInput must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for CredentialDataInput must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for CredentialDataInput must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for CredentialDataInput must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for CredentialDataInput must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for CredentialDataInput must not be nil") + } + if supportedFormats == nil { + panic("supportedFormats of type ReadableProperty for CredentialDataInput must not be nil") + } + if supportedFormatClasses == nil { + panic("supportedFormatClasses of type OptionalProperty for CredentialDataInput must not be nil") + } + if updateTime == nil { + panic("updateTime of type ReadableProperty for CredentialDataInput must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for CredentialDataInput must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for CredentialDataInput must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for CredentialDataInput must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for CredentialDataInput must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for CredentialDataInput must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for CredentialDataInput must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for CredentialDataInput must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for CredentialDataInput must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for CredentialDataInput must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for CredentialDataInput must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for CredentialDataInput must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for CredentialDataInput must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for CredentialDataInput must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for CredentialDataInput must not be nil") + } + return &_CredentialDataInput{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, StatusFlags: statusFlags, Reliability: reliability, OutOfService: outOfService, SupportedFormats: supportedFormats, SupportedFormatClasses: supportedFormatClasses, UpdateTime: updateTime, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, EventState: eventState, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// CredentialDataInputBuilder is a builder for CredentialDataInput +type CredentialDataInputBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, supportedFormats ReadableProperty, supportedFormatClasses OptionalProperty, updateTime ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) CredentialDataInputBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) CredentialDataInputBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) CredentialDataInputBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) CredentialDataInputBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) CredentialDataInputBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) CredentialDataInputBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) CredentialDataInputBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) CredentialDataInputBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) CredentialDataInputBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithSupportedFormats adds SupportedFormats (property field) + WithSupportedFormats(ReadableProperty) CredentialDataInputBuilder + // WithSupportedFormatsBuilder adds SupportedFormats (property field) which is build by the builder + WithSupportedFormatsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithSupportedFormatClasses adds SupportedFormatClasses (property field) + WithSupportedFormatClasses(OptionalProperty) CredentialDataInputBuilder + // WithSupportedFormatClassesBuilder adds SupportedFormatClasses (property field) which is build by the builder + WithSupportedFormatClassesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithUpdateTime adds UpdateTime (property field) + WithUpdateTime(ReadableProperty) CredentialDataInputBuilder + // WithUpdateTimeBuilder adds UpdateTime (property field) which is build by the builder + WithUpdateTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) CredentialDataInputBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) CredentialDataInputBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) CredentialDataInputBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) CredentialDataInputBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) CredentialDataInputBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) CredentialDataInputBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) CredentialDataInputBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) CredentialDataInputBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) CredentialDataInputBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) CredentialDataInputBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) CredentialDataInputBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) CredentialDataInputBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) CredentialDataInputBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) CredentialDataInputBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder + // Build builds the CredentialDataInput or returns an error if something is wrong + Build() (CredentialDataInput, error) + // MustBuild does the same as Build but panics on error + MustBuild() CredentialDataInput +} + +// NewCredentialDataInputBuilder() creates a CredentialDataInputBuilder +func NewCredentialDataInputBuilder() CredentialDataInputBuilder { + return &_CredentialDataInputBuilder{_CredentialDataInput: new(_CredentialDataInput)} +} + +type _CredentialDataInputBuilder struct { + *_CredentialDataInput + + err *utils.MultiError +} + +var _ (CredentialDataInputBuilder) = (*_CredentialDataInputBuilder)(nil) + +func (b *_CredentialDataInputBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, supportedFormats ReadableProperty, supportedFormatClasses OptionalProperty, updateTime ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) CredentialDataInputBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithStatusFlags(statusFlags).WithReliability(reliability).WithOutOfService(outOfService).WithSupportedFormats(supportedFormats).WithSupportedFormatClasses(supportedFormatClasses).WithUpdateTime(updateTime).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithEventState(eventState).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_CredentialDataInputBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) CredentialDataInputBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_CredentialDataInputBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithObjectName(objectName ReadableProperty) CredentialDataInputBuilder { + b.ObjectName = objectName + return b +} + +func (b *_CredentialDataInputBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithObjectType(objectType ReadableProperty) CredentialDataInputBuilder { + b.ObjectType = objectType + return b +} + +func (b *_CredentialDataInputBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithPresentValue(presentValue ReadableProperty) CredentialDataInputBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_CredentialDataInputBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithDescription(description OptionalProperty) CredentialDataInputBuilder { + b.Description = description + return b +} + +func (b *_CredentialDataInputBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithStatusFlags(statusFlags ReadableProperty) CredentialDataInputBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_CredentialDataInputBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithReliability(reliability ReadableProperty) CredentialDataInputBuilder { + b.Reliability = reliability + return b +} + +func (b *_CredentialDataInputBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithOutOfService(outOfService ReadableProperty) CredentialDataInputBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_CredentialDataInputBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithSupportedFormats(supportedFormats ReadableProperty) CredentialDataInputBuilder { + b.SupportedFormats = supportedFormats + return b +} + +func (b *_CredentialDataInputBuilder) WithSupportedFormatsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.SupportedFormats.CreateReadablePropertyBuilder()) + var err error + b.SupportedFormats, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithSupportedFormatClasses(supportedFormatClasses OptionalProperty) CredentialDataInputBuilder { + b.SupportedFormatClasses = supportedFormatClasses + return b +} + +func (b *_CredentialDataInputBuilder) WithSupportedFormatClassesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.SupportedFormatClasses.CreateOptionalPropertyBuilder()) + var err error + b.SupportedFormatClasses, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithUpdateTime(updateTime ReadableProperty) CredentialDataInputBuilder { + b.UpdateTime = updateTime + return b +} + +func (b *_CredentialDataInputBuilder) WithUpdateTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.UpdateTime.CreateReadablePropertyBuilder()) + var err error + b.UpdateTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) CredentialDataInputBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_CredentialDataInputBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithNotificationClass(notificationClass OptionalProperty) CredentialDataInputBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_CredentialDataInputBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithEventEnable(eventEnable OptionalProperty) CredentialDataInputBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_CredentialDataInputBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithEventState(eventState OptionalProperty) CredentialDataInputBuilder { + b.EventState = eventState + return b +} + +func (b *_CredentialDataInputBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) CredentialDataInputBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_CredentialDataInputBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithNotifyType(notifyType OptionalProperty) CredentialDataInputBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_CredentialDataInputBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) CredentialDataInputBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_CredentialDataInputBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) CredentialDataInputBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_CredentialDataInputBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) CredentialDataInputBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_CredentialDataInputBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) CredentialDataInputBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_CredentialDataInputBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithPropertyList(propertyList ReadableProperty) CredentialDataInputBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_CredentialDataInputBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithTags(tags OptionalProperty) CredentialDataInputBuilder { + b.Tags = tags + return b +} + +func (b *_CredentialDataInputBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithProfileLocation(profileLocation OptionalProperty) CredentialDataInputBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_CredentialDataInputBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) WithProfileName(profileName OptionalProperty) CredentialDataInputBuilder { + b.ProfileName = profileName + return b +} + +func (b *_CredentialDataInputBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) CredentialDataInputBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_CredentialDataInputBuilder) Build() (CredentialDataInput, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.SupportedFormats == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'supportedFormats' not set")) + } + if b.SupportedFormatClasses == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'supportedFormatClasses' not set")) + } + if b.UpdateTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'updateTime' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._CredentialDataInput.deepCopy(), nil +} + +func (b *_CredentialDataInputBuilder) MustBuild() CredentialDataInput { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_CredentialDataInputBuilder) DeepCopy() any { + _copy := b.CreateCredentialDataInputBuilder().(*_CredentialDataInputBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateCredentialDataInputBuilder creates a CredentialDataInputBuilder +func (b *_CredentialDataInput) CreateCredentialDataInputBuilder() CredentialDataInputBuilder { + if b == nil { + return NewCredentialDataInputBuilder() + } + return &_CredentialDataInputBuilder{_CredentialDataInput: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_CredentialDataInput) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_CredentialDataInput) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_CredentialDataInput) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_CredentialDataInput) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_CredentialDataInput) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_CredentialDataInput) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_CredentialDataInput) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_CredentialDataInput) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_CredentialDataInput) GetSupportedFormats() ReadableProperty { + return m.SupportedFormats +} + +func (m *_CredentialDataInput) GetSupportedFormatClasses() OptionalProperty { + return m.SupportedFormatClasses +} + +func (m *_CredentialDataInput) GetUpdateTime() ReadableProperty { + return m.UpdateTime +} + +func (m *_CredentialDataInput) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_CredentialDataInput) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_CredentialDataInput) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_CredentialDataInput) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_CredentialDataInput) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_CredentialDataInput) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_CredentialDataInput) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_CredentialDataInput) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_CredentialDataInput) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_CredentialDataInput) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_CredentialDataInput) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_CredentialDataInput) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_CredentialDataInput) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_CredentialDataInput) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastCredentialDataInput(structType any) CredentialDataInput { + if casted, ok := structType.(CredentialDataInput); ok { + return casted + } + if casted, ok := structType.(*CredentialDataInput); ok { + return *casted + } + return nil +} + +func (m *_CredentialDataInput) GetTypeName() string { + return "CredentialDataInput" +} + +func (m *_CredentialDataInput) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (supportedFormats) + lengthInBits += m.SupportedFormats.GetLengthInBits(ctx) + + // Simple field (supportedFormatClasses) + lengthInBits += m.SupportedFormatClasses.GetLengthInBits(ctx) + + // Simple field (updateTime) + lengthInBits += m.UpdateTime.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_CredentialDataInput) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func CredentialDataInputParse(ctx context.Context, theBytes []byte) (CredentialDataInput, error) { + return CredentialDataInputParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func CredentialDataInputParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (CredentialDataInput, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (CredentialDataInput, error) { + return CredentialDataInputParseWithBuffer(ctx, readBuffer) + } +} + +func CredentialDataInputParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (CredentialDataInput, error) { + v, err := (&_CredentialDataInput{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_CredentialDataInput) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__credentialDataInput CredentialDataInput, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("CredentialDataInput"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for CredentialDataInput") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetAuthenticationFactor")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + supportedFormats, err := ReadSimpleField[ReadableProperty](ctx, "supportedFormats", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetAuthenticationFactorFormat")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'supportedFormats' field")) + } + m.SupportedFormats = supportedFormats + + supportedFormatClasses, err := ReadSimpleField[OptionalProperty](ctx, "supportedFormatClasses", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'supportedFormatClasses' field")) + } + m.SupportedFormatClasses = supportedFormatClasses + + updateTime, err := ReadSimpleField[ReadableProperty](ctx, "updateTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'updateTime' field")) + } + m.UpdateTime = updateTime + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("CredentialDataInput"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for CredentialDataInput") + } + + return m, nil +} + +func (m *_CredentialDataInput) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_CredentialDataInput) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("CredentialDataInput"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for CredentialDataInput") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "supportedFormats", m.GetSupportedFormats(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'supportedFormats' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "supportedFormatClasses", m.GetSupportedFormatClasses(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'supportedFormatClasses' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "updateTime", m.GetUpdateTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'updateTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("CredentialDataInput"); popErr != nil { + return errors.Wrap(popErr, "Error popping for CredentialDataInput") + } + return nil +} + +func (m *_CredentialDataInput) IsCredentialDataInput() {} + +func (m *_CredentialDataInput) DeepCopy() any { + return m.deepCopy() +} + +func (m *_CredentialDataInput) deepCopy() *_CredentialDataInput { + if m == nil { + return nil + } + _CredentialDataInputCopy := &_CredentialDataInput{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.SupportedFormats.DeepCopy().(ReadableProperty), + m.SupportedFormatClasses.DeepCopy().(OptionalProperty), + m.UpdateTime.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _CredentialDataInputCopy +} + +func (m *_CredentialDataInput) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/DatePatternValue.go b/plc4go/protocols/bacnetip/readwrite/model/DatePatternValue.go new file mode 100644 index 00000000000..f50d4756960 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/DatePatternValue.go @@ -0,0 +1,1756 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// DatePatternValue is the corresponding interface of DatePatternValue +type DatePatternValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsDatePatternValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsDatePatternValue() + // CreateBuilder creates a DatePatternValueBuilder + CreateDatePatternValueBuilder() DatePatternValueBuilder +} + +// _DatePatternValue is the data-structure of this message +type _DatePatternValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ DatePatternValue = (*_DatePatternValue)(nil) + +// NewDatePatternValue factory function for _DatePatternValue +func NewDatePatternValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_DatePatternValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for DatePatternValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for DatePatternValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for DatePatternValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for DatePatternValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for DatePatternValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for DatePatternValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for DatePatternValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for DatePatternValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for DatePatternValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for DatePatternValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for DatePatternValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for DatePatternValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for DatePatternValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for DatePatternValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for DatePatternValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for DatePatternValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for DatePatternValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for DatePatternValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for DatePatternValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for DatePatternValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for DatePatternValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for DatePatternValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for DatePatternValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for DatePatternValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for DatePatternValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for DatePatternValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for DatePatternValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for DatePatternValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for DatePatternValue must not be nil") + } + return &_DatePatternValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// DatePatternValueBuilder is a builder for DatePatternValue +type DatePatternValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) DatePatternValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) DatePatternValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) DatePatternValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) DatePatternValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) DatePatternValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) DatePatternValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) DatePatternValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) DatePatternValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) DatePatternValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) DatePatternValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) DatePatternValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) DatePatternValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) DatePatternValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) DatePatternValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) DatePatternValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) DatePatternValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) DatePatternValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) DatePatternValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) DatePatternValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) DatePatternValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) DatePatternValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) DatePatternValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) DatePatternValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) DatePatternValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) DatePatternValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) DatePatternValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) DatePatternValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) DatePatternValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) DatePatternValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) DatePatternValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder + // Build builds the DatePatternValue or returns an error if something is wrong + Build() (DatePatternValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() DatePatternValue +} + +// NewDatePatternValueBuilder() creates a DatePatternValueBuilder +func NewDatePatternValueBuilder() DatePatternValueBuilder { + return &_DatePatternValueBuilder{_DatePatternValue: new(_DatePatternValue)} +} + +type _DatePatternValueBuilder struct { + *_DatePatternValue + + err *utils.MultiError +} + +var _ (DatePatternValueBuilder) = (*_DatePatternValueBuilder)(nil) + +func (b *_DatePatternValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) DatePatternValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_DatePatternValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) DatePatternValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_DatePatternValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithObjectName(objectName ReadableProperty) DatePatternValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_DatePatternValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithObjectType(objectType ReadableProperty) DatePatternValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_DatePatternValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithDescription(description OptionalProperty) DatePatternValueBuilder { + b.Description = description + return b +} + +func (b *_DatePatternValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithPresentValue(presentValue ReadableProperty) DatePatternValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_DatePatternValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithStatusFlags(statusFlags ReadableProperty) DatePatternValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_DatePatternValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithEventState(eventState OptionalProperty) DatePatternValueBuilder { + b.EventState = eventState + return b +} + +func (b *_DatePatternValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithReliability(reliability OptionalProperty) DatePatternValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_DatePatternValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithOutOfService(outOfService OptionalProperty) DatePatternValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_DatePatternValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithPriorityArray(priorityArray OptionalProperty) DatePatternValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_DatePatternValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) DatePatternValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_DatePatternValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) DatePatternValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_DatePatternValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithPropertyList(propertyList ReadableProperty) DatePatternValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_DatePatternValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) DatePatternValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_DatePatternValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithNotificationClass(notificationClass OptionalProperty) DatePatternValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_DatePatternValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithEventEnable(eventEnable OptionalProperty) DatePatternValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_DatePatternValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) DatePatternValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_DatePatternValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithNotifyType(notifyType OptionalProperty) DatePatternValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_DatePatternValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) DatePatternValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_DatePatternValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) DatePatternValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_DatePatternValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) DatePatternValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_DatePatternValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) DatePatternValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_DatePatternValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithValueSource(valueSource OptionalProperty) DatePatternValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_DatePatternValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) DatePatternValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_DatePatternValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) DatePatternValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_DatePatternValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) DatePatternValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_DatePatternValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithTags(tags OptionalProperty) DatePatternValueBuilder { + b.Tags = tags + return b +} + +func (b *_DatePatternValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithProfileLocation(profileLocation OptionalProperty) DatePatternValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_DatePatternValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) WithProfileName(profileName OptionalProperty) DatePatternValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_DatePatternValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DatePatternValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DatePatternValueBuilder) Build() (DatePatternValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._DatePatternValue.deepCopy(), nil +} + +func (b *_DatePatternValueBuilder) MustBuild() DatePatternValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_DatePatternValueBuilder) DeepCopy() any { + _copy := b.CreateDatePatternValueBuilder().(*_DatePatternValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateDatePatternValueBuilder creates a DatePatternValueBuilder +func (b *_DatePatternValue) CreateDatePatternValueBuilder() DatePatternValueBuilder { + if b == nil { + return NewDatePatternValueBuilder() + } + return &_DatePatternValueBuilder{_DatePatternValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_DatePatternValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_DatePatternValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_DatePatternValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_DatePatternValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_DatePatternValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_DatePatternValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_DatePatternValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_DatePatternValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_DatePatternValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_DatePatternValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_DatePatternValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_DatePatternValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_DatePatternValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_DatePatternValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_DatePatternValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_DatePatternValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_DatePatternValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_DatePatternValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_DatePatternValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_DatePatternValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_DatePatternValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_DatePatternValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_DatePatternValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_DatePatternValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_DatePatternValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_DatePatternValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_DatePatternValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_DatePatternValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_DatePatternValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastDatePatternValue(structType any) DatePatternValue { + if casted, ok := structType.(DatePatternValue); ok { + return casted + } + if casted, ok := structType.(*DatePatternValue); ok { + return *casted + } + return nil +} + +func (m *_DatePatternValue) GetTypeName() string { + return "DatePatternValue" +} + +func (m *_DatePatternValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_DatePatternValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func DatePatternValueParse(ctx context.Context, theBytes []byte) (DatePatternValue, error) { + return DatePatternValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func DatePatternValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (DatePatternValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (DatePatternValue, error) { + return DatePatternValueParseWithBuffer(ctx, readBuffer) + } +} + +func DatePatternValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (DatePatternValue, error) { + v, err := (&_DatePatternValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_DatePatternValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__datePatternValue DatePatternValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("DatePatternValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for DatePatternValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Date")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Date")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("DatePatternValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for DatePatternValue") + } + + return m, nil +} + +func (m *_DatePatternValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_DatePatternValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("DatePatternValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for DatePatternValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("DatePatternValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for DatePatternValue") + } + return nil +} + +func (m *_DatePatternValue) IsDatePatternValue() {} + +func (m *_DatePatternValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_DatePatternValue) deepCopy() *_DatePatternValue { + if m == nil { + return nil + } + _DatePatternValueCopy := &_DatePatternValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _DatePatternValueCopy +} + +func (m *_DatePatternValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/DateTimePatternValue.go b/plc4go/protocols/bacnetip/readwrite/model/DateTimePatternValue.go new file mode 100644 index 00000000000..f5986f58063 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/DateTimePatternValue.go @@ -0,0 +1,1808 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// DateTimePatternValue is the corresponding interface of DateTimePatternValue +type DateTimePatternValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetIsUTC returns IsUTC (property field) + GetIsUTC() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsDateTimePatternValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsDateTimePatternValue() + // CreateBuilder creates a DateTimePatternValueBuilder + CreateDateTimePatternValueBuilder() DateTimePatternValueBuilder +} + +// _DateTimePatternValue is the data-structure of this message +type _DateTimePatternValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + IsUTC OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ DateTimePatternValue = (*_DateTimePatternValue)(nil) + +// NewDateTimePatternValue factory function for _DateTimePatternValue +func NewDateTimePatternValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, isUTC OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_DateTimePatternValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for DateTimePatternValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for DateTimePatternValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for DateTimePatternValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for DateTimePatternValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for DateTimePatternValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for DateTimePatternValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for DateTimePatternValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for DateTimePatternValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for DateTimePatternValue must not be nil") + } + if isUTC == nil { + panic("isUTC of type OptionalProperty for DateTimePatternValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for DateTimePatternValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for DateTimePatternValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for DateTimePatternValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for DateTimePatternValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for DateTimePatternValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for DateTimePatternValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for DateTimePatternValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for DateTimePatternValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for DateTimePatternValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for DateTimePatternValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for DateTimePatternValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for DateTimePatternValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for DateTimePatternValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for DateTimePatternValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for DateTimePatternValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for DateTimePatternValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for DateTimePatternValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for DateTimePatternValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for DateTimePatternValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for DateTimePatternValue must not be nil") + } + return &_DateTimePatternValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, IsUTC: isUTC, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// DateTimePatternValueBuilder is a builder for DateTimePatternValue +type DateTimePatternValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, isUTC OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) DateTimePatternValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) DateTimePatternValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) DateTimePatternValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) DateTimePatternValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) DateTimePatternValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) DateTimePatternValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) DateTimePatternValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) DateTimePatternValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) DateTimePatternValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) DateTimePatternValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithIsUTC adds IsUTC (property field) + WithIsUTC(OptionalProperty) DateTimePatternValueBuilder + // WithIsUTCBuilder adds IsUTC (property field) which is build by the builder + WithIsUTCBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) DateTimePatternValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) DateTimePatternValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) DateTimePatternValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) DateTimePatternValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) DateTimePatternValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) DateTimePatternValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) DateTimePatternValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) DateTimePatternValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) DateTimePatternValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) DateTimePatternValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) DateTimePatternValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) DateTimePatternValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) DateTimePatternValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) DateTimePatternValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) DateTimePatternValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) DateTimePatternValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) DateTimePatternValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) DateTimePatternValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) DateTimePatternValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) DateTimePatternValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder + // Build builds the DateTimePatternValue or returns an error if something is wrong + Build() (DateTimePatternValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() DateTimePatternValue +} + +// NewDateTimePatternValueBuilder() creates a DateTimePatternValueBuilder +func NewDateTimePatternValueBuilder() DateTimePatternValueBuilder { + return &_DateTimePatternValueBuilder{_DateTimePatternValue: new(_DateTimePatternValue)} +} + +type _DateTimePatternValueBuilder struct { + *_DateTimePatternValue + + err *utils.MultiError +} + +var _ (DateTimePatternValueBuilder) = (*_DateTimePatternValueBuilder)(nil) + +func (b *_DateTimePatternValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, isUTC OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) DateTimePatternValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithIsUTC(isUTC).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_DateTimePatternValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) DateTimePatternValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_DateTimePatternValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithObjectName(objectName ReadableProperty) DateTimePatternValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_DateTimePatternValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithObjectType(objectType ReadableProperty) DateTimePatternValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_DateTimePatternValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithDescription(description OptionalProperty) DateTimePatternValueBuilder { + b.Description = description + return b +} + +func (b *_DateTimePatternValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithPresentValue(presentValue ReadableProperty) DateTimePatternValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_DateTimePatternValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithStatusFlags(statusFlags ReadableProperty) DateTimePatternValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_DateTimePatternValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventState(eventState OptionalProperty) DateTimePatternValueBuilder { + b.EventState = eventState + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithReliability(reliability OptionalProperty) DateTimePatternValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_DateTimePatternValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithOutOfService(outOfService OptionalProperty) DateTimePatternValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_DateTimePatternValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithIsUTC(isUTC OptionalProperty) DateTimePatternValueBuilder { + b.IsUTC = isUTC + return b +} + +func (b *_DateTimePatternValueBuilder) WithIsUTCBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.IsUTC.CreateOptionalPropertyBuilder()) + var err error + b.IsUTC, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithPriorityArray(priorityArray OptionalProperty) DateTimePatternValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_DateTimePatternValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) DateTimePatternValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_DateTimePatternValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) DateTimePatternValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_DateTimePatternValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithPropertyList(propertyList ReadableProperty) DateTimePatternValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_DateTimePatternValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) DateTimePatternValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithNotificationClass(notificationClass OptionalProperty) DateTimePatternValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_DateTimePatternValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventEnable(eventEnable OptionalProperty) DateTimePatternValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) DateTimePatternValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_DateTimePatternValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithNotifyType(notifyType OptionalProperty) DateTimePatternValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_DateTimePatternValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) DateTimePatternValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) DateTimePatternValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) DateTimePatternValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_DateTimePatternValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) DateTimePatternValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_DateTimePatternValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithValueSource(valueSource OptionalProperty) DateTimePatternValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_DateTimePatternValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) DateTimePatternValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_DateTimePatternValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) DateTimePatternValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_DateTimePatternValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) DateTimePatternValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_DateTimePatternValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithTags(tags OptionalProperty) DateTimePatternValueBuilder { + b.Tags = tags + return b +} + +func (b *_DateTimePatternValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithProfileLocation(profileLocation OptionalProperty) DateTimePatternValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_DateTimePatternValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) WithProfileName(profileName OptionalProperty) DateTimePatternValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_DateTimePatternValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimePatternValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimePatternValueBuilder) Build() (DateTimePatternValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.IsUTC == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'isUTC' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._DateTimePatternValue.deepCopy(), nil +} + +func (b *_DateTimePatternValueBuilder) MustBuild() DateTimePatternValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_DateTimePatternValueBuilder) DeepCopy() any { + _copy := b.CreateDateTimePatternValueBuilder().(*_DateTimePatternValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateDateTimePatternValueBuilder creates a DateTimePatternValueBuilder +func (b *_DateTimePatternValue) CreateDateTimePatternValueBuilder() DateTimePatternValueBuilder { + if b == nil { + return NewDateTimePatternValueBuilder() + } + return &_DateTimePatternValueBuilder{_DateTimePatternValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_DateTimePatternValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_DateTimePatternValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_DateTimePatternValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_DateTimePatternValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_DateTimePatternValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_DateTimePatternValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_DateTimePatternValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_DateTimePatternValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_DateTimePatternValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_DateTimePatternValue) GetIsUTC() OptionalProperty { + return m.IsUTC +} + +func (m *_DateTimePatternValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_DateTimePatternValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_DateTimePatternValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_DateTimePatternValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_DateTimePatternValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_DateTimePatternValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_DateTimePatternValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_DateTimePatternValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_DateTimePatternValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_DateTimePatternValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_DateTimePatternValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_DateTimePatternValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_DateTimePatternValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_DateTimePatternValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_DateTimePatternValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_DateTimePatternValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_DateTimePatternValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_DateTimePatternValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_DateTimePatternValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_DateTimePatternValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastDateTimePatternValue(structType any) DateTimePatternValue { + if casted, ok := structType.(DateTimePatternValue); ok { + return casted + } + if casted, ok := structType.(*DateTimePatternValue); ok { + return *casted + } + return nil +} + +func (m *_DateTimePatternValue) GetTypeName() string { + return "DateTimePatternValue" +} + +func (m *_DateTimePatternValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (isUTC) + lengthInBits += m.IsUTC.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_DateTimePatternValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func DateTimePatternValueParse(ctx context.Context, theBytes []byte) (DateTimePatternValue, error) { + return DateTimePatternValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func DateTimePatternValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (DateTimePatternValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (DateTimePatternValue, error) { + return DateTimePatternValueParseWithBuffer(ctx, readBuffer) + } +} + +func DateTimePatternValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (DateTimePatternValue, error) { + v, err := (&_DateTimePatternValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_DateTimePatternValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__dateTimePatternValue DateTimePatternValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("DateTimePatternValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for DateTimePatternValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + isUTC, err := ReadSimpleField[OptionalProperty](ctx, "isUTC", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'isUTC' field")) + } + m.IsUTC = isUTC + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("DateTimePatternValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for DateTimePatternValue") + } + + return m, nil +} + +func (m *_DateTimePatternValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_DateTimePatternValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("DateTimePatternValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for DateTimePatternValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "isUTC", m.GetIsUTC(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'isUTC' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("DateTimePatternValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for DateTimePatternValue") + } + return nil +} + +func (m *_DateTimePatternValue) IsDateTimePatternValue() {} + +func (m *_DateTimePatternValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_DateTimePatternValue) deepCopy() *_DateTimePatternValue { + if m == nil { + return nil + } + _DateTimePatternValueCopy := &_DateTimePatternValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.IsUTC.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _DateTimePatternValueCopy +} + +func (m *_DateTimePatternValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/DateTimeValue.go b/plc4go/protocols/bacnetip/readwrite/model/DateTimeValue.go new file mode 100644 index 00000000000..e954542e898 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/DateTimeValue.go @@ -0,0 +1,1808 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// DateTimeValue is the corresponding interface of DateTimeValue +type DateTimeValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetIsUTC returns IsUTC (property field) + GetIsUTC() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsDateTimeValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsDateTimeValue() + // CreateBuilder creates a DateTimeValueBuilder + CreateDateTimeValueBuilder() DateTimeValueBuilder +} + +// _DateTimeValue is the data-structure of this message +type _DateTimeValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + IsUTC OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ DateTimeValue = (*_DateTimeValue)(nil) + +// NewDateTimeValue factory function for _DateTimeValue +func NewDateTimeValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, isUTC OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_DateTimeValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for DateTimeValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for DateTimeValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for DateTimeValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for DateTimeValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for DateTimeValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for DateTimeValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for DateTimeValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for DateTimeValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for DateTimeValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for DateTimeValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for DateTimeValue must not be nil") + } + if isUTC == nil { + panic("isUTC of type OptionalProperty for DateTimeValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for DateTimeValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for DateTimeValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for DateTimeValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for DateTimeValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for DateTimeValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for DateTimeValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for DateTimeValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for DateTimeValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for DateTimeValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for DateTimeValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for DateTimeValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for DateTimeValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for DateTimeValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for DateTimeValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for DateTimeValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for DateTimeValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for DateTimeValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for DateTimeValue must not be nil") + } + return &_DateTimeValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, IsUTC: isUTC, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// DateTimeValueBuilder is a builder for DateTimeValue +type DateTimeValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, isUTC OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) DateTimeValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) DateTimeValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) DateTimeValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) DateTimeValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) DateTimeValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) DateTimeValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) DateTimeValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) DateTimeValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) DateTimeValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) DateTimeValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) DateTimeValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) DateTimeValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithIsUTC adds IsUTC (property field) + WithIsUTC(OptionalProperty) DateTimeValueBuilder + // WithIsUTCBuilder adds IsUTC (property field) which is build by the builder + WithIsUTCBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) DateTimeValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) DateTimeValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) DateTimeValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) DateTimeValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) DateTimeValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) DateTimeValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) DateTimeValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) DateTimeValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) DateTimeValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) DateTimeValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) DateTimeValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) DateTimeValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) DateTimeValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) DateTimeValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) DateTimeValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) DateTimeValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) DateTimeValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) DateTimeValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder + // Build builds the DateTimeValue or returns an error if something is wrong + Build() (DateTimeValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() DateTimeValue +} + +// NewDateTimeValueBuilder() creates a DateTimeValueBuilder +func NewDateTimeValueBuilder() DateTimeValueBuilder { + return &_DateTimeValueBuilder{_DateTimeValue: new(_DateTimeValue)} +} + +type _DateTimeValueBuilder struct { + *_DateTimeValue + + err *utils.MultiError +} + +var _ (DateTimeValueBuilder) = (*_DateTimeValueBuilder)(nil) + +func (b *_DateTimeValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, isUTC OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) DateTimeValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithIsUTC(isUTC).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_DateTimeValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) DateTimeValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_DateTimeValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithObjectName(objectName ReadableProperty) DateTimeValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_DateTimeValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithObjectType(objectType ReadableProperty) DateTimeValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_DateTimeValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithDescription(description OptionalProperty) DateTimeValueBuilder { + b.Description = description + return b +} + +func (b *_DateTimeValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithPresentValue(presentValue ReadableProperty) DateTimeValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_DateTimeValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithStatusFlags(statusFlags ReadableProperty) DateTimeValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_DateTimeValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithEventState(eventState OptionalProperty) DateTimeValueBuilder { + b.EventState = eventState + return b +} + +func (b *_DateTimeValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithReliability(reliability OptionalProperty) DateTimeValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_DateTimeValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithOutOfService(outOfService OptionalProperty) DateTimeValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_DateTimeValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithPriorityArray(priorityArray OptionalProperty) DateTimeValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_DateTimeValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) DateTimeValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_DateTimeValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithIsUTC(isUTC OptionalProperty) DateTimeValueBuilder { + b.IsUTC = isUTC + return b +} + +func (b *_DateTimeValueBuilder) WithIsUTCBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.IsUTC.CreateOptionalPropertyBuilder()) + var err error + b.IsUTC, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) DateTimeValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_DateTimeValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithPropertyList(propertyList ReadableProperty) DateTimeValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_DateTimeValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) DateTimeValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_DateTimeValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithNotificationClass(notificationClass OptionalProperty) DateTimeValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_DateTimeValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithEventEnable(eventEnable OptionalProperty) DateTimeValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_DateTimeValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) DateTimeValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_DateTimeValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithNotifyType(notifyType OptionalProperty) DateTimeValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_DateTimeValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) DateTimeValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_DateTimeValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) DateTimeValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_DateTimeValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) DateTimeValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_DateTimeValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) DateTimeValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_DateTimeValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithValueSource(valueSource OptionalProperty) DateTimeValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_DateTimeValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) DateTimeValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_DateTimeValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) DateTimeValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_DateTimeValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) DateTimeValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_DateTimeValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithTags(tags OptionalProperty) DateTimeValueBuilder { + b.Tags = tags + return b +} + +func (b *_DateTimeValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithProfileLocation(profileLocation OptionalProperty) DateTimeValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_DateTimeValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) WithProfileName(profileName OptionalProperty) DateTimeValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_DateTimeValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateTimeValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateTimeValueBuilder) Build() (DateTimeValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.IsUTC == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'isUTC' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._DateTimeValue.deepCopy(), nil +} + +func (b *_DateTimeValueBuilder) MustBuild() DateTimeValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_DateTimeValueBuilder) DeepCopy() any { + _copy := b.CreateDateTimeValueBuilder().(*_DateTimeValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateDateTimeValueBuilder creates a DateTimeValueBuilder +func (b *_DateTimeValue) CreateDateTimeValueBuilder() DateTimeValueBuilder { + if b == nil { + return NewDateTimeValueBuilder() + } + return &_DateTimeValueBuilder{_DateTimeValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_DateTimeValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_DateTimeValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_DateTimeValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_DateTimeValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_DateTimeValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_DateTimeValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_DateTimeValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_DateTimeValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_DateTimeValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_DateTimeValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_DateTimeValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_DateTimeValue) GetIsUTC() OptionalProperty { + return m.IsUTC +} + +func (m *_DateTimeValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_DateTimeValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_DateTimeValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_DateTimeValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_DateTimeValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_DateTimeValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_DateTimeValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_DateTimeValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_DateTimeValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_DateTimeValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_DateTimeValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_DateTimeValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_DateTimeValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_DateTimeValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_DateTimeValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_DateTimeValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_DateTimeValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_DateTimeValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastDateTimeValue(structType any) DateTimeValue { + if casted, ok := structType.(DateTimeValue); ok { + return casted + } + if casted, ok := structType.(*DateTimeValue); ok { + return *casted + } + return nil +} + +func (m *_DateTimeValue) GetTypeName() string { + return "DateTimeValue" +} + +func (m *_DateTimeValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (isUTC) + lengthInBits += m.IsUTC.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_DateTimeValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func DateTimeValueParse(ctx context.Context, theBytes []byte) (DateTimeValue, error) { + return DateTimeValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func DateTimeValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (DateTimeValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (DateTimeValue, error) { + return DateTimeValueParseWithBuffer(ctx, readBuffer) + } +} + +func DateTimeValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (DateTimeValue, error) { + v, err := (&_DateTimeValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_DateTimeValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__dateTimeValue DateTimeValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("DateTimeValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for DateTimeValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + isUTC, err := ReadSimpleField[OptionalProperty](ctx, "isUTC", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'isUTC' field")) + } + m.IsUTC = isUTC + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("DateTimeValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for DateTimeValue") + } + + return m, nil +} + +func (m *_DateTimeValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_DateTimeValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("DateTimeValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for DateTimeValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "isUTC", m.GetIsUTC(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'isUTC' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("DateTimeValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for DateTimeValue") + } + return nil +} + +func (m *_DateTimeValue) IsDateTimeValue() {} + +func (m *_DateTimeValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_DateTimeValue) deepCopy() *_DateTimeValue { + if m == nil { + return nil + } + _DateTimeValueCopy := &_DateTimeValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.IsUTC.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _DateTimeValueCopy +} + +func (m *_DateTimeValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/DateValue.go b/plc4go/protocols/bacnetip/readwrite/model/DateValue.go new file mode 100644 index 00000000000..fd492273f82 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/DateValue.go @@ -0,0 +1,1756 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// DateValue is the corresponding interface of DateValue +type DateValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsDateValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsDateValue() + // CreateBuilder creates a DateValueBuilder + CreateDateValueBuilder() DateValueBuilder +} + +// _DateValue is the data-structure of this message +type _DateValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ DateValue = (*_DateValue)(nil) + +// NewDateValue factory function for _DateValue +func NewDateValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_DateValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for DateValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for DateValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for DateValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for DateValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for DateValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for DateValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for DateValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for DateValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for DateValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for DateValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for DateValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for DateValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for DateValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for DateValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for DateValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for DateValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for DateValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for DateValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for DateValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for DateValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for DateValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for DateValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for DateValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for DateValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for DateValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for DateValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for DateValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for DateValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for DateValue must not be nil") + } + return &_DateValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// DateValueBuilder is a builder for DateValue +type DateValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) DateValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) DateValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) DateValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) DateValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) DateValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) DateValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) DateValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) DateValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) DateValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) DateValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) DateValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) DateValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) DateValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) DateValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) DateValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) DateValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) DateValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) DateValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) DateValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) DateValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) DateValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) DateValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) DateValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) DateValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) DateValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) DateValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) DateValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) DateValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) DateValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) DateValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder + // Build builds the DateValue or returns an error if something is wrong + Build() (DateValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() DateValue +} + +// NewDateValueBuilder() creates a DateValueBuilder +func NewDateValueBuilder() DateValueBuilder { + return &_DateValueBuilder{_DateValue: new(_DateValue)} +} + +type _DateValueBuilder struct { + *_DateValue + + err *utils.MultiError +} + +var _ (DateValueBuilder) = (*_DateValueBuilder)(nil) + +func (b *_DateValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) DateValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_DateValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) DateValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_DateValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithObjectName(objectName ReadableProperty) DateValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_DateValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithObjectType(objectType ReadableProperty) DateValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_DateValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithDescription(description OptionalProperty) DateValueBuilder { + b.Description = description + return b +} + +func (b *_DateValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithPresentValue(presentValue ReadableProperty) DateValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_DateValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithStatusFlags(statusFlags ReadableProperty) DateValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_DateValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithEventState(eventState OptionalProperty) DateValueBuilder { + b.EventState = eventState + return b +} + +func (b *_DateValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithReliability(reliability OptionalProperty) DateValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_DateValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithOutOfService(outOfService OptionalProperty) DateValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_DateValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithPriorityArray(priorityArray OptionalProperty) DateValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_DateValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) DateValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_DateValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) DateValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_DateValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithPropertyList(propertyList ReadableProperty) DateValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_DateValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) DateValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_DateValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithNotificationClass(notificationClass OptionalProperty) DateValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_DateValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithEventEnable(eventEnable OptionalProperty) DateValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_DateValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) DateValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_DateValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithNotifyType(notifyType OptionalProperty) DateValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_DateValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) DateValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_DateValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) DateValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_DateValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) DateValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_DateValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) DateValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_DateValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithValueSource(valueSource OptionalProperty) DateValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_DateValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) DateValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_DateValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) DateValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_DateValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) DateValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_DateValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithTags(tags OptionalProperty) DateValueBuilder { + b.Tags = tags + return b +} + +func (b *_DateValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithProfileLocation(profileLocation OptionalProperty) DateValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_DateValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) WithProfileName(profileName OptionalProperty) DateValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_DateValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DateValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DateValueBuilder) Build() (DateValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._DateValue.deepCopy(), nil +} + +func (b *_DateValueBuilder) MustBuild() DateValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_DateValueBuilder) DeepCopy() any { + _copy := b.CreateDateValueBuilder().(*_DateValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateDateValueBuilder creates a DateValueBuilder +func (b *_DateValue) CreateDateValueBuilder() DateValueBuilder { + if b == nil { + return NewDateValueBuilder() + } + return &_DateValueBuilder{_DateValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_DateValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_DateValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_DateValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_DateValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_DateValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_DateValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_DateValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_DateValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_DateValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_DateValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_DateValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_DateValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_DateValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_DateValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_DateValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_DateValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_DateValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_DateValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_DateValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_DateValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_DateValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_DateValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_DateValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_DateValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_DateValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_DateValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_DateValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_DateValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_DateValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastDateValue(structType any) DateValue { + if casted, ok := structType.(DateValue); ok { + return casted + } + if casted, ok := structType.(*DateValue); ok { + return *casted + } + return nil +} + +func (m *_DateValue) GetTypeName() string { + return "DateValue" +} + +func (m *_DateValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_DateValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func DateValueParse(ctx context.Context, theBytes []byte) (DateValue, error) { + return DateValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func DateValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (DateValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (DateValue, error) { + return DateValueParseWithBuffer(ctx, readBuffer) + } +} + +func DateValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (DateValue, error) { + v, err := (&_DateValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_DateValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__dateValue DateValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("DateValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for DateValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Date")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Date")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("DateValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for DateValue") + } + + return m, nil +} + +func (m *_DateValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_DateValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("DateValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for DateValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("DateValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for DateValue") + } + return nil +} + +func (m *_DateValue) IsDateValue() {} + +func (m *_DateValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_DateValue) deepCopy() *_DateValue { + if m == nil { + return nil + } + _DateValueCopy := &_DateValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _DateValueCopy +} + +func (m *_DateValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Device.go b/plc4go/protocols/bacnetip/readwrite/model/Device.go new file mode 100644 index 00000000000..93584d830b3 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Device.go @@ -0,0 +1,3784 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Device is the corresponding interface of Device +type Device interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetSystemStatus returns SystemStatus (property field) + GetSystemStatus() ReadableProperty + // GetVendorName returns VendorName (property field) + GetVendorName() ReadableProperty + // GetVendorIdentifier returns VendorIdentifier (property field) + GetVendorIdentifier() ReadableProperty + // GetModelName returns ModelName (property field) + GetModelName() ReadableProperty + // GetFirmwareRevision returns FirmwareRevision (property field) + GetFirmwareRevision() ReadableProperty + // GetApplicationSoftwareVersion returns ApplicationSoftwareVersion (property field) + GetApplicationSoftwareVersion() ReadableProperty + // GetLocation returns Location (property field) + GetLocation() OptionalProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetProtocolVersion returns ProtocolVersion (property field) + GetProtocolVersion() ReadableProperty + // GetProtocolRevision returns ProtocolRevision (property field) + GetProtocolRevision() ReadableProperty + // GetProtocolServicesSupported returns ProtocolServicesSupported (property field) + GetProtocolServicesSupported() ReadableProperty + // GetProtocolObjectTypesSupported returns ProtocolObjectTypesSupported (property field) + GetProtocolObjectTypesSupported() ReadableProperty + // GetObjectList returns ObjectList (property field) + GetObjectList() ReadableProperty + // GetStructuredObjectList returns StructuredObjectList (property field) + GetStructuredObjectList() OptionalProperty + // GetMaxAPDULengthAccepted returns MaxAPDULengthAccepted (property field) + GetMaxAPDULengthAccepted() ReadableProperty + // GetSegmentationSupported returns SegmentationSupported (property field) + GetSegmentationSupported() ReadableProperty + // GetMaxSegmentsAccepted returns MaxSegmentsAccepted (property field) + GetMaxSegmentsAccepted() OptionalProperty + // GetVTClassesSupported returns VTClassesSupported (property field) + GetVTClassesSupported() OptionalProperty + // GetActiveVTSessions returns ActiveVTSessions (property field) + GetActiveVTSessions() OptionalProperty + // GetLocalTime returns LocalTime (property field) + GetLocalTime() OptionalProperty + // GetLocalDate returns LocalDate (property field) + GetLocalDate() OptionalProperty + // GetUTCOffset returns UTCOffset (property field) + GetUTCOffset() OptionalProperty + // GetDaylightSavingsStatus returns DaylightSavingsStatus (property field) + GetDaylightSavingsStatus() OptionalProperty + // GetAPDUSegmentTimeout returns APDUSegmentTimeout (property field) + GetAPDUSegmentTimeout() OptionalProperty + // GetAPDUTimeout returns APDUTimeout (property field) + GetAPDUTimeout() ReadableProperty + // GetNumberOfAPDURetries returns NumberOfAPDURetries (property field) + GetNumberOfAPDURetries() ReadableProperty + // GetTimeSynchronizationRecipients returns TimeSynchronizationRecipients (property field) + GetTimeSynchronizationRecipients() OptionalProperty + // GetMaxMaster returns MaxMaster (property field) + GetMaxMaster() OptionalProperty + // GetMaxInfoFrames returns MaxInfoFrames (property field) + GetMaxInfoFrames() OptionalProperty + // GetDeviceAddressBinding returns DeviceAddressBinding (property field) + GetDeviceAddressBinding() ReadableProperty + // GetDatabaseRevision returns DatabaseRevision (property field) + GetDatabaseRevision() ReadableProperty + // GetConfigurationFiles returns ConfigurationFiles (property field) + GetConfigurationFiles() OptionalProperty + // GetLastRestoreTime returns LastRestoreTime (property field) + GetLastRestoreTime() OptionalProperty + // GetBackupFailureTimeout returns BackupFailureTimeout (property field) + GetBackupFailureTimeout() OptionalProperty + // GetBackupPreparationTime returns BackupPreparationTime (property field) + GetBackupPreparationTime() OptionalProperty + // GetRestorePreparationTime returns RestorePreparationTime (property field) + GetRestorePreparationTime() OptionalProperty + // GetRestoreCompletionTime returns RestoreCompletionTime (property field) + GetRestoreCompletionTime() OptionalProperty + // GetBackupAndRestoreState returns BackupAndRestoreState (property field) + GetBackupAndRestoreState() OptionalProperty + // GetActiveCOVSubscriptions returns ActiveCOVSubscriptions (property field) + GetActiveCOVSubscriptions() OptionalProperty + // GetLastRestartReason returns LastRestartReason (property field) + GetLastRestartReason() OptionalProperty + // GetTimeOfDeviceRestart returns TimeOfDeviceRestart (property field) + GetTimeOfDeviceRestart() OptionalProperty + // GetRestartNotificationRecipients returns RestartNotificationRecipients (property field) + GetRestartNotificationRecipients() OptionalProperty + // GetUTCTimeSynchronizationRecipients returns UTCTimeSynchronizationRecipients (property field) + GetUTCTimeSynchronizationRecipients() OptionalProperty + // GetTimeSynchronizationInterval returns TimeSynchronizationInterval (property field) + GetTimeSynchronizationInterval() OptionalProperty + // GetAlignIntervals returns AlignIntervals (property field) + GetAlignIntervals() OptionalProperty + // GetIntervalOffset returns IntervalOffset (property field) + GetIntervalOffset() OptionalProperty + // GetSerialNumber returns SerialNumber (property field) + GetSerialNumber() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetActiveCOVMultipleSubscriptions returns ActiveCOVMultipleSubscriptions (property field) + GetActiveCOVMultipleSubscriptions() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetDeployedProfileLocation returns DeployedProfileLocation (property field) + GetDeployedProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsDevice is a marker method to prevent unintentional type checks (interfaces of same signature) + IsDevice() + // CreateBuilder creates a DeviceBuilder + CreateDeviceBuilder() DeviceBuilder +} + +// _Device is the data-structure of this message +type _Device struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + SystemStatus ReadableProperty + VendorName ReadableProperty + VendorIdentifier ReadableProperty + ModelName ReadableProperty + FirmwareRevision ReadableProperty + ApplicationSoftwareVersion ReadableProperty + Location OptionalProperty + Description OptionalProperty + ProtocolVersion ReadableProperty + ProtocolRevision ReadableProperty + ProtocolServicesSupported ReadableProperty + ProtocolObjectTypesSupported ReadableProperty + ObjectList ReadableProperty + StructuredObjectList OptionalProperty + MaxAPDULengthAccepted ReadableProperty + SegmentationSupported ReadableProperty + MaxSegmentsAccepted OptionalProperty + VTClassesSupported OptionalProperty + ActiveVTSessions OptionalProperty + LocalTime OptionalProperty + LocalDate OptionalProperty + UTCOffset OptionalProperty + DaylightSavingsStatus OptionalProperty + APDUSegmentTimeout OptionalProperty + APDUTimeout ReadableProperty + NumberOfAPDURetries ReadableProperty + TimeSynchronizationRecipients OptionalProperty + MaxMaster OptionalProperty + MaxInfoFrames OptionalProperty + DeviceAddressBinding ReadableProperty + DatabaseRevision ReadableProperty + ConfigurationFiles OptionalProperty + LastRestoreTime OptionalProperty + BackupFailureTimeout OptionalProperty + BackupPreparationTime OptionalProperty + RestorePreparationTime OptionalProperty + RestoreCompletionTime OptionalProperty + BackupAndRestoreState OptionalProperty + ActiveCOVSubscriptions OptionalProperty + LastRestartReason OptionalProperty + TimeOfDeviceRestart OptionalProperty + RestartNotificationRecipients OptionalProperty + UTCTimeSynchronizationRecipients OptionalProperty + TimeSynchronizationInterval OptionalProperty + AlignIntervals OptionalProperty + IntervalOffset OptionalProperty + SerialNumber OptionalProperty + PropertyList ReadableProperty + StatusFlags OptionalProperty + EventState OptionalProperty + Reliability OptionalProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + ActiveCOVMultipleSubscriptions OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + DeployedProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Device = (*_Device)(nil) + +// NewDevice factory function for _Device +func NewDevice(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, systemStatus ReadableProperty, vendorName ReadableProperty, vendorIdentifier ReadableProperty, modelName ReadableProperty, firmwareRevision ReadableProperty, applicationSoftwareVersion ReadableProperty, location OptionalProperty, description OptionalProperty, protocolVersion ReadableProperty, protocolRevision ReadableProperty, protocolServicesSupported ReadableProperty, protocolObjectTypesSupported ReadableProperty, objectList ReadableProperty, structuredObjectList OptionalProperty, maxAPDULengthAccepted ReadableProperty, segmentationSupported ReadableProperty, maxSegmentsAccepted OptionalProperty, vTClassesSupported OptionalProperty, activeVTSessions OptionalProperty, localTime OptionalProperty, localDate OptionalProperty, uTCOffset OptionalProperty, daylightSavingsStatus OptionalProperty, aPDUSegmentTimeout OptionalProperty, aPDUTimeout ReadableProperty, numberOfAPDURetries ReadableProperty, timeSynchronizationRecipients OptionalProperty, maxMaster OptionalProperty, maxInfoFrames OptionalProperty, deviceAddressBinding ReadableProperty, databaseRevision ReadableProperty, configurationFiles OptionalProperty, lastRestoreTime OptionalProperty, backupFailureTimeout OptionalProperty, backupPreparationTime OptionalProperty, restorePreparationTime OptionalProperty, restoreCompletionTime OptionalProperty, backupAndRestoreState OptionalProperty, activeCOVSubscriptions OptionalProperty, lastRestartReason OptionalProperty, timeOfDeviceRestart OptionalProperty, restartNotificationRecipients OptionalProperty, uTCTimeSynchronizationRecipients OptionalProperty, timeSynchronizationInterval OptionalProperty, alignIntervals OptionalProperty, intervalOffset OptionalProperty, serialNumber OptionalProperty, propertyList ReadableProperty, statusFlags OptionalProperty, eventState OptionalProperty, reliability OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, activeCOVMultipleSubscriptions OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, deployedProfileLocation OptionalProperty, profileName OptionalProperty) *_Device { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Device must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Device must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Device must not be nil") + } + if systemStatus == nil { + panic("systemStatus of type ReadableProperty for Device must not be nil") + } + if vendorName == nil { + panic("vendorName of type ReadableProperty for Device must not be nil") + } + if vendorIdentifier == nil { + panic("vendorIdentifier of type ReadableProperty for Device must not be nil") + } + if modelName == nil { + panic("modelName of type ReadableProperty for Device must not be nil") + } + if firmwareRevision == nil { + panic("firmwareRevision of type ReadableProperty for Device must not be nil") + } + if applicationSoftwareVersion == nil { + panic("applicationSoftwareVersion of type ReadableProperty for Device must not be nil") + } + if location == nil { + panic("location of type OptionalProperty for Device must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Device must not be nil") + } + if protocolVersion == nil { + panic("protocolVersion of type ReadableProperty for Device must not be nil") + } + if protocolRevision == nil { + panic("protocolRevision of type ReadableProperty for Device must not be nil") + } + if protocolServicesSupported == nil { + panic("protocolServicesSupported of type ReadableProperty for Device must not be nil") + } + if protocolObjectTypesSupported == nil { + panic("protocolObjectTypesSupported of type ReadableProperty for Device must not be nil") + } + if objectList == nil { + panic("objectList of type ReadableProperty for Device must not be nil") + } + if structuredObjectList == nil { + panic("structuredObjectList of type OptionalProperty for Device must not be nil") + } + if maxAPDULengthAccepted == nil { + panic("maxAPDULengthAccepted of type ReadableProperty for Device must not be nil") + } + if segmentationSupported == nil { + panic("segmentationSupported of type ReadableProperty for Device must not be nil") + } + if maxSegmentsAccepted == nil { + panic("maxSegmentsAccepted of type OptionalProperty for Device must not be nil") + } + if vTClassesSupported == nil { + panic("vTClassesSupported of type OptionalProperty for Device must not be nil") + } + if activeVTSessions == nil { + panic("activeVTSessions of type OptionalProperty for Device must not be nil") + } + if localTime == nil { + panic("localTime of type OptionalProperty for Device must not be nil") + } + if localDate == nil { + panic("localDate of type OptionalProperty for Device must not be nil") + } + if uTCOffset == nil { + panic("uTCOffset of type OptionalProperty for Device must not be nil") + } + if daylightSavingsStatus == nil { + panic("daylightSavingsStatus of type OptionalProperty for Device must not be nil") + } + if aPDUSegmentTimeout == nil { + panic("aPDUSegmentTimeout of type OptionalProperty for Device must not be nil") + } + if aPDUTimeout == nil { + panic("aPDUTimeout of type ReadableProperty for Device must not be nil") + } + if numberOfAPDURetries == nil { + panic("numberOfAPDURetries of type ReadableProperty for Device must not be nil") + } + if timeSynchronizationRecipients == nil { + panic("timeSynchronizationRecipients of type OptionalProperty for Device must not be nil") + } + if maxMaster == nil { + panic("maxMaster of type OptionalProperty for Device must not be nil") + } + if maxInfoFrames == nil { + panic("maxInfoFrames of type OptionalProperty for Device must not be nil") + } + if deviceAddressBinding == nil { + panic("deviceAddressBinding of type ReadableProperty for Device must not be nil") + } + if databaseRevision == nil { + panic("databaseRevision of type ReadableProperty for Device must not be nil") + } + if configurationFiles == nil { + panic("configurationFiles of type OptionalProperty for Device must not be nil") + } + if lastRestoreTime == nil { + panic("lastRestoreTime of type OptionalProperty for Device must not be nil") + } + if backupFailureTimeout == nil { + panic("backupFailureTimeout of type OptionalProperty for Device must not be nil") + } + if backupPreparationTime == nil { + panic("backupPreparationTime of type OptionalProperty for Device must not be nil") + } + if restorePreparationTime == nil { + panic("restorePreparationTime of type OptionalProperty for Device must not be nil") + } + if restoreCompletionTime == nil { + panic("restoreCompletionTime of type OptionalProperty for Device must not be nil") + } + if backupAndRestoreState == nil { + panic("backupAndRestoreState of type OptionalProperty for Device must not be nil") + } + if activeCOVSubscriptions == nil { + panic("activeCOVSubscriptions of type OptionalProperty for Device must not be nil") + } + if lastRestartReason == nil { + panic("lastRestartReason of type OptionalProperty for Device must not be nil") + } + if timeOfDeviceRestart == nil { + panic("timeOfDeviceRestart of type OptionalProperty for Device must not be nil") + } + if restartNotificationRecipients == nil { + panic("restartNotificationRecipients of type OptionalProperty for Device must not be nil") + } + if uTCTimeSynchronizationRecipients == nil { + panic("uTCTimeSynchronizationRecipients of type OptionalProperty for Device must not be nil") + } + if timeSynchronizationInterval == nil { + panic("timeSynchronizationInterval of type OptionalProperty for Device must not be nil") + } + if alignIntervals == nil { + panic("alignIntervals of type OptionalProperty for Device must not be nil") + } + if intervalOffset == nil { + panic("intervalOffset of type OptionalProperty for Device must not be nil") + } + if serialNumber == nil { + panic("serialNumber of type OptionalProperty for Device must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Device must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type OptionalProperty for Device must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for Device must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for Device must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Device must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Device must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Device must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Device must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Device must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Device must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Device must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Device must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Device must not be nil") + } + if activeCOVMultipleSubscriptions == nil { + panic("activeCOVMultipleSubscriptions of type OptionalProperty for Device must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Device must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Device must not be nil") + } + if deployedProfileLocation == nil { + panic("deployedProfileLocation of type OptionalProperty for Device must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Device must not be nil") + } + return &_Device{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, SystemStatus: systemStatus, VendorName: vendorName, VendorIdentifier: vendorIdentifier, ModelName: modelName, FirmwareRevision: firmwareRevision, ApplicationSoftwareVersion: applicationSoftwareVersion, Location: location, Description: description, ProtocolVersion: protocolVersion, ProtocolRevision: protocolRevision, ProtocolServicesSupported: protocolServicesSupported, ProtocolObjectTypesSupported: protocolObjectTypesSupported, ObjectList: objectList, StructuredObjectList: structuredObjectList, MaxAPDULengthAccepted: maxAPDULengthAccepted, SegmentationSupported: segmentationSupported, MaxSegmentsAccepted: maxSegmentsAccepted, VTClassesSupported: vTClassesSupported, ActiveVTSessions: activeVTSessions, LocalTime: localTime, LocalDate: localDate, UTCOffset: uTCOffset, DaylightSavingsStatus: daylightSavingsStatus, APDUSegmentTimeout: aPDUSegmentTimeout, APDUTimeout: aPDUTimeout, NumberOfAPDURetries: numberOfAPDURetries, TimeSynchronizationRecipients: timeSynchronizationRecipients, MaxMaster: maxMaster, MaxInfoFrames: maxInfoFrames, DeviceAddressBinding: deviceAddressBinding, DatabaseRevision: databaseRevision, ConfigurationFiles: configurationFiles, LastRestoreTime: lastRestoreTime, BackupFailureTimeout: backupFailureTimeout, BackupPreparationTime: backupPreparationTime, RestorePreparationTime: restorePreparationTime, RestoreCompletionTime: restoreCompletionTime, BackupAndRestoreState: backupAndRestoreState, ActiveCOVSubscriptions: activeCOVSubscriptions, LastRestartReason: lastRestartReason, TimeOfDeviceRestart: timeOfDeviceRestart, RestartNotificationRecipients: restartNotificationRecipients, UTCTimeSynchronizationRecipients: uTCTimeSynchronizationRecipients, TimeSynchronizationInterval: timeSynchronizationInterval, AlignIntervals: alignIntervals, IntervalOffset: intervalOffset, SerialNumber: serialNumber, PropertyList: propertyList, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, ActiveCOVMultipleSubscriptions: activeCOVMultipleSubscriptions, Tags: tags, ProfileLocation: profileLocation, DeployedProfileLocation: deployedProfileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// DeviceBuilder is a builder for Device +type DeviceBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, systemStatus ReadableProperty, vendorName ReadableProperty, vendorIdentifier ReadableProperty, modelName ReadableProperty, firmwareRevision ReadableProperty, applicationSoftwareVersion ReadableProperty, location OptionalProperty, description OptionalProperty, protocolVersion ReadableProperty, protocolRevision ReadableProperty, protocolServicesSupported ReadableProperty, protocolObjectTypesSupported ReadableProperty, objectList ReadableProperty, structuredObjectList OptionalProperty, maxAPDULengthAccepted ReadableProperty, segmentationSupported ReadableProperty, maxSegmentsAccepted OptionalProperty, vTClassesSupported OptionalProperty, activeVTSessions OptionalProperty, localTime OptionalProperty, localDate OptionalProperty, uTCOffset OptionalProperty, daylightSavingsStatus OptionalProperty, aPDUSegmentTimeout OptionalProperty, aPDUTimeout ReadableProperty, numberOfAPDURetries ReadableProperty, timeSynchronizationRecipients OptionalProperty, maxMaster OptionalProperty, maxInfoFrames OptionalProperty, deviceAddressBinding ReadableProperty, databaseRevision ReadableProperty, configurationFiles OptionalProperty, lastRestoreTime OptionalProperty, backupFailureTimeout OptionalProperty, backupPreparationTime OptionalProperty, restorePreparationTime OptionalProperty, restoreCompletionTime OptionalProperty, backupAndRestoreState OptionalProperty, activeCOVSubscriptions OptionalProperty, lastRestartReason OptionalProperty, timeOfDeviceRestart OptionalProperty, restartNotificationRecipients OptionalProperty, uTCTimeSynchronizationRecipients OptionalProperty, timeSynchronizationInterval OptionalProperty, alignIntervals OptionalProperty, intervalOffset OptionalProperty, serialNumber OptionalProperty, propertyList ReadableProperty, statusFlags OptionalProperty, eventState OptionalProperty, reliability OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, activeCOVMultipleSubscriptions OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, deployedProfileLocation OptionalProperty, profileName OptionalProperty) DeviceBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) DeviceBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) DeviceBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) DeviceBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithSystemStatus adds SystemStatus (property field) + WithSystemStatus(ReadableProperty) DeviceBuilder + // WithSystemStatusBuilder adds SystemStatus (property field) which is build by the builder + WithSystemStatusBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithVendorName adds VendorName (property field) + WithVendorName(ReadableProperty) DeviceBuilder + // WithVendorNameBuilder adds VendorName (property field) which is build by the builder + WithVendorNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithVendorIdentifier adds VendorIdentifier (property field) + WithVendorIdentifier(ReadableProperty) DeviceBuilder + // WithVendorIdentifierBuilder adds VendorIdentifier (property field) which is build by the builder + WithVendorIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithModelName adds ModelName (property field) + WithModelName(ReadableProperty) DeviceBuilder + // WithModelNameBuilder adds ModelName (property field) which is build by the builder + WithModelNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithFirmwareRevision adds FirmwareRevision (property field) + WithFirmwareRevision(ReadableProperty) DeviceBuilder + // WithFirmwareRevisionBuilder adds FirmwareRevision (property field) which is build by the builder + WithFirmwareRevisionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithApplicationSoftwareVersion adds ApplicationSoftwareVersion (property field) + WithApplicationSoftwareVersion(ReadableProperty) DeviceBuilder + // WithApplicationSoftwareVersionBuilder adds ApplicationSoftwareVersion (property field) which is build by the builder + WithApplicationSoftwareVersionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithLocation adds Location (property field) + WithLocation(OptionalProperty) DeviceBuilder + // WithLocationBuilder adds Location (property field) which is build by the builder + WithLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) DeviceBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithProtocolVersion adds ProtocolVersion (property field) + WithProtocolVersion(ReadableProperty) DeviceBuilder + // WithProtocolVersionBuilder adds ProtocolVersion (property field) which is build by the builder + WithProtocolVersionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithProtocolRevision adds ProtocolRevision (property field) + WithProtocolRevision(ReadableProperty) DeviceBuilder + // WithProtocolRevisionBuilder adds ProtocolRevision (property field) which is build by the builder + WithProtocolRevisionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithProtocolServicesSupported adds ProtocolServicesSupported (property field) + WithProtocolServicesSupported(ReadableProperty) DeviceBuilder + // WithProtocolServicesSupportedBuilder adds ProtocolServicesSupported (property field) which is build by the builder + WithProtocolServicesSupportedBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithProtocolObjectTypesSupported adds ProtocolObjectTypesSupported (property field) + WithProtocolObjectTypesSupported(ReadableProperty) DeviceBuilder + // WithProtocolObjectTypesSupportedBuilder adds ProtocolObjectTypesSupported (property field) which is build by the builder + WithProtocolObjectTypesSupportedBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithObjectList adds ObjectList (property field) + WithObjectList(ReadableProperty) DeviceBuilder + // WithObjectListBuilder adds ObjectList (property field) which is build by the builder + WithObjectListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithStructuredObjectList adds StructuredObjectList (property field) + WithStructuredObjectList(OptionalProperty) DeviceBuilder + // WithStructuredObjectListBuilder adds StructuredObjectList (property field) which is build by the builder + WithStructuredObjectListBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithMaxAPDULengthAccepted adds MaxAPDULengthAccepted (property field) + WithMaxAPDULengthAccepted(ReadableProperty) DeviceBuilder + // WithMaxAPDULengthAcceptedBuilder adds MaxAPDULengthAccepted (property field) which is build by the builder + WithMaxAPDULengthAcceptedBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithSegmentationSupported adds SegmentationSupported (property field) + WithSegmentationSupported(ReadableProperty) DeviceBuilder + // WithSegmentationSupportedBuilder adds SegmentationSupported (property field) which is build by the builder + WithSegmentationSupportedBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithMaxSegmentsAccepted adds MaxSegmentsAccepted (property field) + WithMaxSegmentsAccepted(OptionalProperty) DeviceBuilder + // WithMaxSegmentsAcceptedBuilder adds MaxSegmentsAccepted (property field) which is build by the builder + WithMaxSegmentsAcceptedBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithVTClassesSupported adds VTClassesSupported (property field) + WithVTClassesSupported(OptionalProperty) DeviceBuilder + // WithVTClassesSupportedBuilder adds VTClassesSupported (property field) which is build by the builder + WithVTClassesSupportedBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithActiveVTSessions adds ActiveVTSessions (property field) + WithActiveVTSessions(OptionalProperty) DeviceBuilder + // WithActiveVTSessionsBuilder adds ActiveVTSessions (property field) which is build by the builder + WithActiveVTSessionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithLocalTime adds LocalTime (property field) + WithLocalTime(OptionalProperty) DeviceBuilder + // WithLocalTimeBuilder adds LocalTime (property field) which is build by the builder + WithLocalTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithLocalDate adds LocalDate (property field) + WithLocalDate(OptionalProperty) DeviceBuilder + // WithLocalDateBuilder adds LocalDate (property field) which is build by the builder + WithLocalDateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithUTCOffset adds UTCOffset (property field) + WithUTCOffset(OptionalProperty) DeviceBuilder + // WithUTCOffsetBuilder adds UTCOffset (property field) which is build by the builder + WithUTCOffsetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithDaylightSavingsStatus adds DaylightSavingsStatus (property field) + WithDaylightSavingsStatus(OptionalProperty) DeviceBuilder + // WithDaylightSavingsStatusBuilder adds DaylightSavingsStatus (property field) which is build by the builder + WithDaylightSavingsStatusBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithAPDUSegmentTimeout adds APDUSegmentTimeout (property field) + WithAPDUSegmentTimeout(OptionalProperty) DeviceBuilder + // WithAPDUSegmentTimeoutBuilder adds APDUSegmentTimeout (property field) which is build by the builder + WithAPDUSegmentTimeoutBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithAPDUTimeout adds APDUTimeout (property field) + WithAPDUTimeout(ReadableProperty) DeviceBuilder + // WithAPDUTimeoutBuilder adds APDUTimeout (property field) which is build by the builder + WithAPDUTimeoutBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithNumberOfAPDURetries adds NumberOfAPDURetries (property field) + WithNumberOfAPDURetries(ReadableProperty) DeviceBuilder + // WithNumberOfAPDURetriesBuilder adds NumberOfAPDURetries (property field) which is build by the builder + WithNumberOfAPDURetriesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithTimeSynchronizationRecipients adds TimeSynchronizationRecipients (property field) + WithTimeSynchronizationRecipients(OptionalProperty) DeviceBuilder + // WithTimeSynchronizationRecipientsBuilder adds TimeSynchronizationRecipients (property field) which is build by the builder + WithTimeSynchronizationRecipientsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithMaxMaster adds MaxMaster (property field) + WithMaxMaster(OptionalProperty) DeviceBuilder + // WithMaxMasterBuilder adds MaxMaster (property field) which is build by the builder + WithMaxMasterBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithMaxInfoFrames adds MaxInfoFrames (property field) + WithMaxInfoFrames(OptionalProperty) DeviceBuilder + // WithMaxInfoFramesBuilder adds MaxInfoFrames (property field) which is build by the builder + WithMaxInfoFramesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithDeviceAddressBinding adds DeviceAddressBinding (property field) + WithDeviceAddressBinding(ReadableProperty) DeviceBuilder + // WithDeviceAddressBindingBuilder adds DeviceAddressBinding (property field) which is build by the builder + WithDeviceAddressBindingBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithDatabaseRevision adds DatabaseRevision (property field) + WithDatabaseRevision(ReadableProperty) DeviceBuilder + // WithDatabaseRevisionBuilder adds DatabaseRevision (property field) which is build by the builder + WithDatabaseRevisionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithConfigurationFiles adds ConfigurationFiles (property field) + WithConfigurationFiles(OptionalProperty) DeviceBuilder + // WithConfigurationFilesBuilder adds ConfigurationFiles (property field) which is build by the builder + WithConfigurationFilesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithLastRestoreTime adds LastRestoreTime (property field) + WithLastRestoreTime(OptionalProperty) DeviceBuilder + // WithLastRestoreTimeBuilder adds LastRestoreTime (property field) which is build by the builder + WithLastRestoreTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithBackupFailureTimeout adds BackupFailureTimeout (property field) + WithBackupFailureTimeout(OptionalProperty) DeviceBuilder + // WithBackupFailureTimeoutBuilder adds BackupFailureTimeout (property field) which is build by the builder + WithBackupFailureTimeoutBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithBackupPreparationTime adds BackupPreparationTime (property field) + WithBackupPreparationTime(OptionalProperty) DeviceBuilder + // WithBackupPreparationTimeBuilder adds BackupPreparationTime (property field) which is build by the builder + WithBackupPreparationTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithRestorePreparationTime adds RestorePreparationTime (property field) + WithRestorePreparationTime(OptionalProperty) DeviceBuilder + // WithRestorePreparationTimeBuilder adds RestorePreparationTime (property field) which is build by the builder + WithRestorePreparationTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithRestoreCompletionTime adds RestoreCompletionTime (property field) + WithRestoreCompletionTime(OptionalProperty) DeviceBuilder + // WithRestoreCompletionTimeBuilder adds RestoreCompletionTime (property field) which is build by the builder + WithRestoreCompletionTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithBackupAndRestoreState adds BackupAndRestoreState (property field) + WithBackupAndRestoreState(OptionalProperty) DeviceBuilder + // WithBackupAndRestoreStateBuilder adds BackupAndRestoreState (property field) which is build by the builder + WithBackupAndRestoreStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithActiveCOVSubscriptions adds ActiveCOVSubscriptions (property field) + WithActiveCOVSubscriptions(OptionalProperty) DeviceBuilder + // WithActiveCOVSubscriptionsBuilder adds ActiveCOVSubscriptions (property field) which is build by the builder + WithActiveCOVSubscriptionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithLastRestartReason adds LastRestartReason (property field) + WithLastRestartReason(OptionalProperty) DeviceBuilder + // WithLastRestartReasonBuilder adds LastRestartReason (property field) which is build by the builder + WithLastRestartReasonBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithTimeOfDeviceRestart adds TimeOfDeviceRestart (property field) + WithTimeOfDeviceRestart(OptionalProperty) DeviceBuilder + // WithTimeOfDeviceRestartBuilder adds TimeOfDeviceRestart (property field) which is build by the builder + WithTimeOfDeviceRestartBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithRestartNotificationRecipients adds RestartNotificationRecipients (property field) + WithRestartNotificationRecipients(OptionalProperty) DeviceBuilder + // WithRestartNotificationRecipientsBuilder adds RestartNotificationRecipients (property field) which is build by the builder + WithRestartNotificationRecipientsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithUTCTimeSynchronizationRecipients adds UTCTimeSynchronizationRecipients (property field) + WithUTCTimeSynchronizationRecipients(OptionalProperty) DeviceBuilder + // WithUTCTimeSynchronizationRecipientsBuilder adds UTCTimeSynchronizationRecipients (property field) which is build by the builder + WithUTCTimeSynchronizationRecipientsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithTimeSynchronizationInterval adds TimeSynchronizationInterval (property field) + WithTimeSynchronizationInterval(OptionalProperty) DeviceBuilder + // WithTimeSynchronizationIntervalBuilder adds TimeSynchronizationInterval (property field) which is build by the builder + WithTimeSynchronizationIntervalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithAlignIntervals adds AlignIntervals (property field) + WithAlignIntervals(OptionalProperty) DeviceBuilder + // WithAlignIntervalsBuilder adds AlignIntervals (property field) which is build by the builder + WithAlignIntervalsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithIntervalOffset adds IntervalOffset (property field) + WithIntervalOffset(OptionalProperty) DeviceBuilder + // WithIntervalOffsetBuilder adds IntervalOffset (property field) which is build by the builder + WithIntervalOffsetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithSerialNumber adds SerialNumber (property field) + WithSerialNumber(OptionalProperty) DeviceBuilder + // WithSerialNumberBuilder adds SerialNumber (property field) which is build by the builder + WithSerialNumberBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) DeviceBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(OptionalProperty) DeviceBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) DeviceBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) DeviceBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) DeviceBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) DeviceBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) DeviceBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) DeviceBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) DeviceBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) DeviceBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) DeviceBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) DeviceBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) DeviceBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithActiveCOVMultipleSubscriptions adds ActiveCOVMultipleSubscriptions (property field) + WithActiveCOVMultipleSubscriptions(OptionalProperty) DeviceBuilder + // WithActiveCOVMultipleSubscriptionsBuilder adds ActiveCOVMultipleSubscriptions (property field) which is build by the builder + WithActiveCOVMultipleSubscriptionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) DeviceBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) DeviceBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithDeployedProfileLocation adds DeployedProfileLocation (property field) + WithDeployedProfileLocation(OptionalProperty) DeviceBuilder + // WithDeployedProfileLocationBuilder adds DeployedProfileLocation (property field) which is build by the builder + WithDeployedProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) DeviceBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder + // Build builds the Device or returns an error if something is wrong + Build() (Device, error) + // MustBuild does the same as Build but panics on error + MustBuild() Device +} + +// NewDeviceBuilder() creates a DeviceBuilder +func NewDeviceBuilder() DeviceBuilder { + return &_DeviceBuilder{_Device: new(_Device)} +} + +type _DeviceBuilder struct { + *_Device + + err *utils.MultiError +} + +var _ (DeviceBuilder) = (*_DeviceBuilder)(nil) + +func (b *_DeviceBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, systemStatus ReadableProperty, vendorName ReadableProperty, vendorIdentifier ReadableProperty, modelName ReadableProperty, firmwareRevision ReadableProperty, applicationSoftwareVersion ReadableProperty, location OptionalProperty, description OptionalProperty, protocolVersion ReadableProperty, protocolRevision ReadableProperty, protocolServicesSupported ReadableProperty, protocolObjectTypesSupported ReadableProperty, objectList ReadableProperty, structuredObjectList OptionalProperty, maxAPDULengthAccepted ReadableProperty, segmentationSupported ReadableProperty, maxSegmentsAccepted OptionalProperty, vTClassesSupported OptionalProperty, activeVTSessions OptionalProperty, localTime OptionalProperty, localDate OptionalProperty, uTCOffset OptionalProperty, daylightSavingsStatus OptionalProperty, aPDUSegmentTimeout OptionalProperty, aPDUTimeout ReadableProperty, numberOfAPDURetries ReadableProperty, timeSynchronizationRecipients OptionalProperty, maxMaster OptionalProperty, maxInfoFrames OptionalProperty, deviceAddressBinding ReadableProperty, databaseRevision ReadableProperty, configurationFiles OptionalProperty, lastRestoreTime OptionalProperty, backupFailureTimeout OptionalProperty, backupPreparationTime OptionalProperty, restorePreparationTime OptionalProperty, restoreCompletionTime OptionalProperty, backupAndRestoreState OptionalProperty, activeCOVSubscriptions OptionalProperty, lastRestartReason OptionalProperty, timeOfDeviceRestart OptionalProperty, restartNotificationRecipients OptionalProperty, uTCTimeSynchronizationRecipients OptionalProperty, timeSynchronizationInterval OptionalProperty, alignIntervals OptionalProperty, intervalOffset OptionalProperty, serialNumber OptionalProperty, propertyList ReadableProperty, statusFlags OptionalProperty, eventState OptionalProperty, reliability OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, activeCOVMultipleSubscriptions OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, deployedProfileLocation OptionalProperty, profileName OptionalProperty) DeviceBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithSystemStatus(systemStatus).WithVendorName(vendorName).WithVendorIdentifier(vendorIdentifier).WithModelName(modelName).WithFirmwareRevision(firmwareRevision).WithApplicationSoftwareVersion(applicationSoftwareVersion).WithLocation(location).WithDescription(description).WithProtocolVersion(protocolVersion).WithProtocolRevision(protocolRevision).WithProtocolServicesSupported(protocolServicesSupported).WithProtocolObjectTypesSupported(protocolObjectTypesSupported).WithObjectList(objectList).WithStructuredObjectList(structuredObjectList).WithMaxAPDULengthAccepted(maxAPDULengthAccepted).WithSegmentationSupported(segmentationSupported).WithMaxSegmentsAccepted(maxSegmentsAccepted).WithVTClassesSupported(vTClassesSupported).WithActiveVTSessions(activeVTSessions).WithLocalTime(localTime).WithLocalDate(localDate).WithUTCOffset(uTCOffset).WithDaylightSavingsStatus(daylightSavingsStatus).WithAPDUSegmentTimeout(aPDUSegmentTimeout).WithAPDUTimeout(aPDUTimeout).WithNumberOfAPDURetries(numberOfAPDURetries).WithTimeSynchronizationRecipients(timeSynchronizationRecipients).WithMaxMaster(maxMaster).WithMaxInfoFrames(maxInfoFrames).WithDeviceAddressBinding(deviceAddressBinding).WithDatabaseRevision(databaseRevision).WithConfigurationFiles(configurationFiles).WithLastRestoreTime(lastRestoreTime).WithBackupFailureTimeout(backupFailureTimeout).WithBackupPreparationTime(backupPreparationTime).WithRestorePreparationTime(restorePreparationTime).WithRestoreCompletionTime(restoreCompletionTime).WithBackupAndRestoreState(backupAndRestoreState).WithActiveCOVSubscriptions(activeCOVSubscriptions).WithLastRestartReason(lastRestartReason).WithTimeOfDeviceRestart(timeOfDeviceRestart).WithRestartNotificationRecipients(restartNotificationRecipients).WithUTCTimeSynchronizationRecipients(uTCTimeSynchronizationRecipients).WithTimeSynchronizationInterval(timeSynchronizationInterval).WithAlignIntervals(alignIntervals).WithIntervalOffset(intervalOffset).WithSerialNumber(serialNumber).WithPropertyList(propertyList).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithActiveCOVMultipleSubscriptions(activeCOVMultipleSubscriptions).WithTags(tags).WithProfileLocation(profileLocation).WithDeployedProfileLocation(deployedProfileLocation).WithProfileName(profileName) +} + +func (b *_DeviceBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) DeviceBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_DeviceBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithObjectName(objectName ReadableProperty) DeviceBuilder { + b.ObjectName = objectName + return b +} + +func (b *_DeviceBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithObjectType(objectType ReadableProperty) DeviceBuilder { + b.ObjectType = objectType + return b +} + +func (b *_DeviceBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithSystemStatus(systemStatus ReadableProperty) DeviceBuilder { + b.SystemStatus = systemStatus + return b +} + +func (b *_DeviceBuilder) WithSystemStatusBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.SystemStatus.CreateReadablePropertyBuilder()) + var err error + b.SystemStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithVendorName(vendorName ReadableProperty) DeviceBuilder { + b.VendorName = vendorName + return b +} + +func (b *_DeviceBuilder) WithVendorNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.VendorName.CreateReadablePropertyBuilder()) + var err error + b.VendorName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithVendorIdentifier(vendorIdentifier ReadableProperty) DeviceBuilder { + b.VendorIdentifier = vendorIdentifier + return b +} + +func (b *_DeviceBuilder) WithVendorIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.VendorIdentifier.CreateReadablePropertyBuilder()) + var err error + b.VendorIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithModelName(modelName ReadableProperty) DeviceBuilder { + b.ModelName = modelName + return b +} + +func (b *_DeviceBuilder) WithModelNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ModelName.CreateReadablePropertyBuilder()) + var err error + b.ModelName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithFirmwareRevision(firmwareRevision ReadableProperty) DeviceBuilder { + b.FirmwareRevision = firmwareRevision + return b +} + +func (b *_DeviceBuilder) WithFirmwareRevisionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.FirmwareRevision.CreateReadablePropertyBuilder()) + var err error + b.FirmwareRevision, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithApplicationSoftwareVersion(applicationSoftwareVersion ReadableProperty) DeviceBuilder { + b.ApplicationSoftwareVersion = applicationSoftwareVersion + return b +} + +func (b *_DeviceBuilder) WithApplicationSoftwareVersionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ApplicationSoftwareVersion.CreateReadablePropertyBuilder()) + var err error + b.ApplicationSoftwareVersion, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithLocation(location OptionalProperty) DeviceBuilder { + b.Location = location + return b +} + +func (b *_DeviceBuilder) WithLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.Location.CreateOptionalPropertyBuilder()) + var err error + b.Location, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithDescription(description OptionalProperty) DeviceBuilder { + b.Description = description + return b +} + +func (b *_DeviceBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithProtocolVersion(protocolVersion ReadableProperty) DeviceBuilder { + b.ProtocolVersion = protocolVersion + return b +} + +func (b *_DeviceBuilder) WithProtocolVersionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ProtocolVersion.CreateReadablePropertyBuilder()) + var err error + b.ProtocolVersion, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithProtocolRevision(protocolRevision ReadableProperty) DeviceBuilder { + b.ProtocolRevision = protocolRevision + return b +} + +func (b *_DeviceBuilder) WithProtocolRevisionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ProtocolRevision.CreateReadablePropertyBuilder()) + var err error + b.ProtocolRevision, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithProtocolServicesSupported(protocolServicesSupported ReadableProperty) DeviceBuilder { + b.ProtocolServicesSupported = protocolServicesSupported + return b +} + +func (b *_DeviceBuilder) WithProtocolServicesSupportedBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ProtocolServicesSupported.CreateReadablePropertyBuilder()) + var err error + b.ProtocolServicesSupported, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithProtocolObjectTypesSupported(protocolObjectTypesSupported ReadableProperty) DeviceBuilder { + b.ProtocolObjectTypesSupported = protocolObjectTypesSupported + return b +} + +func (b *_DeviceBuilder) WithProtocolObjectTypesSupportedBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ProtocolObjectTypesSupported.CreateReadablePropertyBuilder()) + var err error + b.ProtocolObjectTypesSupported, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithObjectList(objectList ReadableProperty) DeviceBuilder { + b.ObjectList = objectList + return b +} + +func (b *_DeviceBuilder) WithObjectListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ObjectList.CreateReadablePropertyBuilder()) + var err error + b.ObjectList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithStructuredObjectList(structuredObjectList OptionalProperty) DeviceBuilder { + b.StructuredObjectList = structuredObjectList + return b +} + +func (b *_DeviceBuilder) WithStructuredObjectListBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.StructuredObjectList.CreateOptionalPropertyBuilder()) + var err error + b.StructuredObjectList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithMaxAPDULengthAccepted(maxAPDULengthAccepted ReadableProperty) DeviceBuilder { + b.MaxAPDULengthAccepted = maxAPDULengthAccepted + return b +} + +func (b *_DeviceBuilder) WithMaxAPDULengthAcceptedBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.MaxAPDULengthAccepted.CreateReadablePropertyBuilder()) + var err error + b.MaxAPDULengthAccepted, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithSegmentationSupported(segmentationSupported ReadableProperty) DeviceBuilder { + b.SegmentationSupported = segmentationSupported + return b +} + +func (b *_DeviceBuilder) WithSegmentationSupportedBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.SegmentationSupported.CreateReadablePropertyBuilder()) + var err error + b.SegmentationSupported, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithMaxSegmentsAccepted(maxSegmentsAccepted OptionalProperty) DeviceBuilder { + b.MaxSegmentsAccepted = maxSegmentsAccepted + return b +} + +func (b *_DeviceBuilder) WithMaxSegmentsAcceptedBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.MaxSegmentsAccepted.CreateOptionalPropertyBuilder()) + var err error + b.MaxSegmentsAccepted, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithVTClassesSupported(vTClassesSupported OptionalProperty) DeviceBuilder { + b.VTClassesSupported = vTClassesSupported + return b +} + +func (b *_DeviceBuilder) WithVTClassesSupportedBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.VTClassesSupported.CreateOptionalPropertyBuilder()) + var err error + b.VTClassesSupported, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithActiveVTSessions(activeVTSessions OptionalProperty) DeviceBuilder { + b.ActiveVTSessions = activeVTSessions + return b +} + +func (b *_DeviceBuilder) WithActiveVTSessionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ActiveVTSessions.CreateOptionalPropertyBuilder()) + var err error + b.ActiveVTSessions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithLocalTime(localTime OptionalProperty) DeviceBuilder { + b.LocalTime = localTime + return b +} + +func (b *_DeviceBuilder) WithLocalTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.LocalTime.CreateOptionalPropertyBuilder()) + var err error + b.LocalTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithLocalDate(localDate OptionalProperty) DeviceBuilder { + b.LocalDate = localDate + return b +} + +func (b *_DeviceBuilder) WithLocalDateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.LocalDate.CreateOptionalPropertyBuilder()) + var err error + b.LocalDate, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithUTCOffset(uTCOffset OptionalProperty) DeviceBuilder { + b.UTCOffset = uTCOffset + return b +} + +func (b *_DeviceBuilder) WithUTCOffsetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.UTCOffset.CreateOptionalPropertyBuilder()) + var err error + b.UTCOffset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithDaylightSavingsStatus(daylightSavingsStatus OptionalProperty) DeviceBuilder { + b.DaylightSavingsStatus = daylightSavingsStatus + return b +} + +func (b *_DeviceBuilder) WithDaylightSavingsStatusBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.DaylightSavingsStatus.CreateOptionalPropertyBuilder()) + var err error + b.DaylightSavingsStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithAPDUSegmentTimeout(aPDUSegmentTimeout OptionalProperty) DeviceBuilder { + b.APDUSegmentTimeout = aPDUSegmentTimeout + return b +} + +func (b *_DeviceBuilder) WithAPDUSegmentTimeoutBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.APDUSegmentTimeout.CreateOptionalPropertyBuilder()) + var err error + b.APDUSegmentTimeout, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithAPDUTimeout(aPDUTimeout ReadableProperty) DeviceBuilder { + b.APDUTimeout = aPDUTimeout + return b +} + +func (b *_DeviceBuilder) WithAPDUTimeoutBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.APDUTimeout.CreateReadablePropertyBuilder()) + var err error + b.APDUTimeout, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithNumberOfAPDURetries(numberOfAPDURetries ReadableProperty) DeviceBuilder { + b.NumberOfAPDURetries = numberOfAPDURetries + return b +} + +func (b *_DeviceBuilder) WithNumberOfAPDURetriesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.NumberOfAPDURetries.CreateReadablePropertyBuilder()) + var err error + b.NumberOfAPDURetries, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithTimeSynchronizationRecipients(timeSynchronizationRecipients OptionalProperty) DeviceBuilder { + b.TimeSynchronizationRecipients = timeSynchronizationRecipients + return b +} + +func (b *_DeviceBuilder) WithTimeSynchronizationRecipientsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.TimeSynchronizationRecipients.CreateOptionalPropertyBuilder()) + var err error + b.TimeSynchronizationRecipients, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithMaxMaster(maxMaster OptionalProperty) DeviceBuilder { + b.MaxMaster = maxMaster + return b +} + +func (b *_DeviceBuilder) WithMaxMasterBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.MaxMaster.CreateOptionalPropertyBuilder()) + var err error + b.MaxMaster, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithMaxInfoFrames(maxInfoFrames OptionalProperty) DeviceBuilder { + b.MaxInfoFrames = maxInfoFrames + return b +} + +func (b *_DeviceBuilder) WithMaxInfoFramesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.MaxInfoFrames.CreateOptionalPropertyBuilder()) + var err error + b.MaxInfoFrames, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithDeviceAddressBinding(deviceAddressBinding ReadableProperty) DeviceBuilder { + b.DeviceAddressBinding = deviceAddressBinding + return b +} + +func (b *_DeviceBuilder) WithDeviceAddressBindingBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.DeviceAddressBinding.CreateReadablePropertyBuilder()) + var err error + b.DeviceAddressBinding, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithDatabaseRevision(databaseRevision ReadableProperty) DeviceBuilder { + b.DatabaseRevision = databaseRevision + return b +} + +func (b *_DeviceBuilder) WithDatabaseRevisionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.DatabaseRevision.CreateReadablePropertyBuilder()) + var err error + b.DatabaseRevision, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithConfigurationFiles(configurationFiles OptionalProperty) DeviceBuilder { + b.ConfigurationFiles = configurationFiles + return b +} + +func (b *_DeviceBuilder) WithConfigurationFilesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ConfigurationFiles.CreateOptionalPropertyBuilder()) + var err error + b.ConfigurationFiles, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithLastRestoreTime(lastRestoreTime OptionalProperty) DeviceBuilder { + b.LastRestoreTime = lastRestoreTime + return b +} + +func (b *_DeviceBuilder) WithLastRestoreTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.LastRestoreTime.CreateOptionalPropertyBuilder()) + var err error + b.LastRestoreTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithBackupFailureTimeout(backupFailureTimeout OptionalProperty) DeviceBuilder { + b.BackupFailureTimeout = backupFailureTimeout + return b +} + +func (b *_DeviceBuilder) WithBackupFailureTimeoutBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.BackupFailureTimeout.CreateOptionalPropertyBuilder()) + var err error + b.BackupFailureTimeout, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithBackupPreparationTime(backupPreparationTime OptionalProperty) DeviceBuilder { + b.BackupPreparationTime = backupPreparationTime + return b +} + +func (b *_DeviceBuilder) WithBackupPreparationTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.BackupPreparationTime.CreateOptionalPropertyBuilder()) + var err error + b.BackupPreparationTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithRestorePreparationTime(restorePreparationTime OptionalProperty) DeviceBuilder { + b.RestorePreparationTime = restorePreparationTime + return b +} + +func (b *_DeviceBuilder) WithRestorePreparationTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.RestorePreparationTime.CreateOptionalPropertyBuilder()) + var err error + b.RestorePreparationTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithRestoreCompletionTime(restoreCompletionTime OptionalProperty) DeviceBuilder { + b.RestoreCompletionTime = restoreCompletionTime + return b +} + +func (b *_DeviceBuilder) WithRestoreCompletionTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.RestoreCompletionTime.CreateOptionalPropertyBuilder()) + var err error + b.RestoreCompletionTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithBackupAndRestoreState(backupAndRestoreState OptionalProperty) DeviceBuilder { + b.BackupAndRestoreState = backupAndRestoreState + return b +} + +func (b *_DeviceBuilder) WithBackupAndRestoreStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.BackupAndRestoreState.CreateOptionalPropertyBuilder()) + var err error + b.BackupAndRestoreState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithActiveCOVSubscriptions(activeCOVSubscriptions OptionalProperty) DeviceBuilder { + b.ActiveCOVSubscriptions = activeCOVSubscriptions + return b +} + +func (b *_DeviceBuilder) WithActiveCOVSubscriptionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ActiveCOVSubscriptions.CreateOptionalPropertyBuilder()) + var err error + b.ActiveCOVSubscriptions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithLastRestartReason(lastRestartReason OptionalProperty) DeviceBuilder { + b.LastRestartReason = lastRestartReason + return b +} + +func (b *_DeviceBuilder) WithLastRestartReasonBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.LastRestartReason.CreateOptionalPropertyBuilder()) + var err error + b.LastRestartReason, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithTimeOfDeviceRestart(timeOfDeviceRestart OptionalProperty) DeviceBuilder { + b.TimeOfDeviceRestart = timeOfDeviceRestart + return b +} + +func (b *_DeviceBuilder) WithTimeOfDeviceRestartBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.TimeOfDeviceRestart.CreateOptionalPropertyBuilder()) + var err error + b.TimeOfDeviceRestart, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithRestartNotificationRecipients(restartNotificationRecipients OptionalProperty) DeviceBuilder { + b.RestartNotificationRecipients = restartNotificationRecipients + return b +} + +func (b *_DeviceBuilder) WithRestartNotificationRecipientsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.RestartNotificationRecipients.CreateOptionalPropertyBuilder()) + var err error + b.RestartNotificationRecipients, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithUTCTimeSynchronizationRecipients(uTCTimeSynchronizationRecipients OptionalProperty) DeviceBuilder { + b.UTCTimeSynchronizationRecipients = uTCTimeSynchronizationRecipients + return b +} + +func (b *_DeviceBuilder) WithUTCTimeSynchronizationRecipientsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.UTCTimeSynchronizationRecipients.CreateOptionalPropertyBuilder()) + var err error + b.UTCTimeSynchronizationRecipients, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithTimeSynchronizationInterval(timeSynchronizationInterval OptionalProperty) DeviceBuilder { + b.TimeSynchronizationInterval = timeSynchronizationInterval + return b +} + +func (b *_DeviceBuilder) WithTimeSynchronizationIntervalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.TimeSynchronizationInterval.CreateOptionalPropertyBuilder()) + var err error + b.TimeSynchronizationInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithAlignIntervals(alignIntervals OptionalProperty) DeviceBuilder { + b.AlignIntervals = alignIntervals + return b +} + +func (b *_DeviceBuilder) WithAlignIntervalsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.AlignIntervals.CreateOptionalPropertyBuilder()) + var err error + b.AlignIntervals, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithIntervalOffset(intervalOffset OptionalProperty) DeviceBuilder { + b.IntervalOffset = intervalOffset + return b +} + +func (b *_DeviceBuilder) WithIntervalOffsetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.IntervalOffset.CreateOptionalPropertyBuilder()) + var err error + b.IntervalOffset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithSerialNumber(serialNumber OptionalProperty) DeviceBuilder { + b.SerialNumber = serialNumber + return b +} + +func (b *_DeviceBuilder) WithSerialNumberBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.SerialNumber.CreateOptionalPropertyBuilder()) + var err error + b.SerialNumber, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithPropertyList(propertyList ReadableProperty) DeviceBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_DeviceBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithStatusFlags(statusFlags OptionalProperty) DeviceBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_DeviceBuilder) WithStatusFlagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.StatusFlags.CreateOptionalPropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithEventState(eventState OptionalProperty) DeviceBuilder { + b.EventState = eventState + return b +} + +func (b *_DeviceBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithReliability(reliability OptionalProperty) DeviceBuilder { + b.Reliability = reliability + return b +} + +func (b *_DeviceBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) DeviceBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_DeviceBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithNotificationClass(notificationClass OptionalProperty) DeviceBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_DeviceBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithEventEnable(eventEnable OptionalProperty) DeviceBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_DeviceBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) DeviceBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_DeviceBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithNotifyType(notifyType OptionalProperty) DeviceBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_DeviceBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) DeviceBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_DeviceBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) DeviceBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_DeviceBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) DeviceBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_DeviceBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) DeviceBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_DeviceBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithActiveCOVMultipleSubscriptions(activeCOVMultipleSubscriptions OptionalProperty) DeviceBuilder { + b.ActiveCOVMultipleSubscriptions = activeCOVMultipleSubscriptions + return b +} + +func (b *_DeviceBuilder) WithActiveCOVMultipleSubscriptionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ActiveCOVMultipleSubscriptions.CreateOptionalPropertyBuilder()) + var err error + b.ActiveCOVMultipleSubscriptions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithTags(tags OptionalProperty) DeviceBuilder { + b.Tags = tags + return b +} + +func (b *_DeviceBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithProfileLocation(profileLocation OptionalProperty) DeviceBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_DeviceBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithDeployedProfileLocation(deployedProfileLocation OptionalProperty) DeviceBuilder { + b.DeployedProfileLocation = deployedProfileLocation + return b +} + +func (b *_DeviceBuilder) WithDeployedProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.DeployedProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.DeployedProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) WithProfileName(profileName OptionalProperty) DeviceBuilder { + b.ProfileName = profileName + return b +} + +func (b *_DeviceBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) DeviceBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_DeviceBuilder) Build() (Device, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.SystemStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'systemStatus' not set")) + } + if b.VendorName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'vendorName' not set")) + } + if b.VendorIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'vendorIdentifier' not set")) + } + if b.ModelName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'modelName' not set")) + } + if b.FirmwareRevision == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'firmwareRevision' not set")) + } + if b.ApplicationSoftwareVersion == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'applicationSoftwareVersion' not set")) + } + if b.Location == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'location' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.ProtocolVersion == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'protocolVersion' not set")) + } + if b.ProtocolRevision == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'protocolRevision' not set")) + } + if b.ProtocolServicesSupported == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'protocolServicesSupported' not set")) + } + if b.ProtocolObjectTypesSupported == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'protocolObjectTypesSupported' not set")) + } + if b.ObjectList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectList' not set")) + } + if b.StructuredObjectList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'structuredObjectList' not set")) + } + if b.MaxAPDULengthAccepted == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxAPDULengthAccepted' not set")) + } + if b.SegmentationSupported == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'segmentationSupported' not set")) + } + if b.MaxSegmentsAccepted == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxSegmentsAccepted' not set")) + } + if b.VTClassesSupported == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'vTClassesSupported' not set")) + } + if b.ActiveVTSessions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'activeVTSessions' not set")) + } + if b.LocalTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'localTime' not set")) + } + if b.LocalDate == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'localDate' not set")) + } + if b.UTCOffset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'uTCOffset' not set")) + } + if b.DaylightSavingsStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'daylightSavingsStatus' not set")) + } + if b.APDUSegmentTimeout == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'aPDUSegmentTimeout' not set")) + } + if b.APDUTimeout == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'aPDUTimeout' not set")) + } + if b.NumberOfAPDURetries == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'numberOfAPDURetries' not set")) + } + if b.TimeSynchronizationRecipients == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeSynchronizationRecipients' not set")) + } + if b.MaxMaster == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxMaster' not set")) + } + if b.MaxInfoFrames == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxInfoFrames' not set")) + } + if b.DeviceAddressBinding == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceAddressBinding' not set")) + } + if b.DatabaseRevision == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'databaseRevision' not set")) + } + if b.ConfigurationFiles == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'configurationFiles' not set")) + } + if b.LastRestoreTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastRestoreTime' not set")) + } + if b.BackupFailureTimeout == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'backupFailureTimeout' not set")) + } + if b.BackupPreparationTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'backupPreparationTime' not set")) + } + if b.RestorePreparationTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'restorePreparationTime' not set")) + } + if b.RestoreCompletionTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'restoreCompletionTime' not set")) + } + if b.BackupAndRestoreState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'backupAndRestoreState' not set")) + } + if b.ActiveCOVSubscriptions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'activeCOVSubscriptions' not set")) + } + if b.LastRestartReason == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastRestartReason' not set")) + } + if b.TimeOfDeviceRestart == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeOfDeviceRestart' not set")) + } + if b.RestartNotificationRecipients == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'restartNotificationRecipients' not set")) + } + if b.UTCTimeSynchronizationRecipients == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'uTCTimeSynchronizationRecipients' not set")) + } + if b.TimeSynchronizationInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeSynchronizationInterval' not set")) + } + if b.AlignIntervals == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alignIntervals' not set")) + } + if b.IntervalOffset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'intervalOffset' not set")) + } + if b.SerialNumber == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'serialNumber' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.ActiveCOVMultipleSubscriptions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'activeCOVMultipleSubscriptions' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.DeployedProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deployedProfileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Device.deepCopy(), nil +} + +func (b *_DeviceBuilder) MustBuild() Device { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_DeviceBuilder) DeepCopy() any { + _copy := b.CreateDeviceBuilder().(*_DeviceBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateDeviceBuilder creates a DeviceBuilder +func (b *_Device) CreateDeviceBuilder() DeviceBuilder { + if b == nil { + return NewDeviceBuilder() + } + return &_DeviceBuilder{_Device: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Device) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Device) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Device) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Device) GetSystemStatus() ReadableProperty { + return m.SystemStatus +} + +func (m *_Device) GetVendorName() ReadableProperty { + return m.VendorName +} + +func (m *_Device) GetVendorIdentifier() ReadableProperty { + return m.VendorIdentifier +} + +func (m *_Device) GetModelName() ReadableProperty { + return m.ModelName +} + +func (m *_Device) GetFirmwareRevision() ReadableProperty { + return m.FirmwareRevision +} + +func (m *_Device) GetApplicationSoftwareVersion() ReadableProperty { + return m.ApplicationSoftwareVersion +} + +func (m *_Device) GetLocation() OptionalProperty { + return m.Location +} + +func (m *_Device) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Device) GetProtocolVersion() ReadableProperty { + return m.ProtocolVersion +} + +func (m *_Device) GetProtocolRevision() ReadableProperty { + return m.ProtocolRevision +} + +func (m *_Device) GetProtocolServicesSupported() ReadableProperty { + return m.ProtocolServicesSupported +} + +func (m *_Device) GetProtocolObjectTypesSupported() ReadableProperty { + return m.ProtocolObjectTypesSupported +} + +func (m *_Device) GetObjectList() ReadableProperty { + return m.ObjectList +} + +func (m *_Device) GetStructuredObjectList() OptionalProperty { + return m.StructuredObjectList +} + +func (m *_Device) GetMaxAPDULengthAccepted() ReadableProperty { + return m.MaxAPDULengthAccepted +} + +func (m *_Device) GetSegmentationSupported() ReadableProperty { + return m.SegmentationSupported +} + +func (m *_Device) GetMaxSegmentsAccepted() OptionalProperty { + return m.MaxSegmentsAccepted +} + +func (m *_Device) GetVTClassesSupported() OptionalProperty { + return m.VTClassesSupported +} + +func (m *_Device) GetActiveVTSessions() OptionalProperty { + return m.ActiveVTSessions +} + +func (m *_Device) GetLocalTime() OptionalProperty { + return m.LocalTime +} + +func (m *_Device) GetLocalDate() OptionalProperty { + return m.LocalDate +} + +func (m *_Device) GetUTCOffset() OptionalProperty { + return m.UTCOffset +} + +func (m *_Device) GetDaylightSavingsStatus() OptionalProperty { + return m.DaylightSavingsStatus +} + +func (m *_Device) GetAPDUSegmentTimeout() OptionalProperty { + return m.APDUSegmentTimeout +} + +func (m *_Device) GetAPDUTimeout() ReadableProperty { + return m.APDUTimeout +} + +func (m *_Device) GetNumberOfAPDURetries() ReadableProperty { + return m.NumberOfAPDURetries +} + +func (m *_Device) GetTimeSynchronizationRecipients() OptionalProperty { + return m.TimeSynchronizationRecipients +} + +func (m *_Device) GetMaxMaster() OptionalProperty { + return m.MaxMaster +} + +func (m *_Device) GetMaxInfoFrames() OptionalProperty { + return m.MaxInfoFrames +} + +func (m *_Device) GetDeviceAddressBinding() ReadableProperty { + return m.DeviceAddressBinding +} + +func (m *_Device) GetDatabaseRevision() ReadableProperty { + return m.DatabaseRevision +} + +func (m *_Device) GetConfigurationFiles() OptionalProperty { + return m.ConfigurationFiles +} + +func (m *_Device) GetLastRestoreTime() OptionalProperty { + return m.LastRestoreTime +} + +func (m *_Device) GetBackupFailureTimeout() OptionalProperty { + return m.BackupFailureTimeout +} + +func (m *_Device) GetBackupPreparationTime() OptionalProperty { + return m.BackupPreparationTime +} + +func (m *_Device) GetRestorePreparationTime() OptionalProperty { + return m.RestorePreparationTime +} + +func (m *_Device) GetRestoreCompletionTime() OptionalProperty { + return m.RestoreCompletionTime +} + +func (m *_Device) GetBackupAndRestoreState() OptionalProperty { + return m.BackupAndRestoreState +} + +func (m *_Device) GetActiveCOVSubscriptions() OptionalProperty { + return m.ActiveCOVSubscriptions +} + +func (m *_Device) GetLastRestartReason() OptionalProperty { + return m.LastRestartReason +} + +func (m *_Device) GetTimeOfDeviceRestart() OptionalProperty { + return m.TimeOfDeviceRestart +} + +func (m *_Device) GetRestartNotificationRecipients() OptionalProperty { + return m.RestartNotificationRecipients +} + +func (m *_Device) GetUTCTimeSynchronizationRecipients() OptionalProperty { + return m.UTCTimeSynchronizationRecipients +} + +func (m *_Device) GetTimeSynchronizationInterval() OptionalProperty { + return m.TimeSynchronizationInterval +} + +func (m *_Device) GetAlignIntervals() OptionalProperty { + return m.AlignIntervals +} + +func (m *_Device) GetIntervalOffset() OptionalProperty { + return m.IntervalOffset +} + +func (m *_Device) GetSerialNumber() OptionalProperty { + return m.SerialNumber +} + +func (m *_Device) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Device) GetStatusFlags() OptionalProperty { + return m.StatusFlags +} + +func (m *_Device) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_Device) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_Device) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Device) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Device) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Device) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Device) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Device) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Device) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Device) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Device) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Device) GetActiveCOVMultipleSubscriptions() OptionalProperty { + return m.ActiveCOVMultipleSubscriptions +} + +func (m *_Device) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Device) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Device) GetDeployedProfileLocation() OptionalProperty { + return m.DeployedProfileLocation +} + +func (m *_Device) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastDevice(structType any) Device { + if casted, ok := structType.(Device); ok { + return casted + } + if casted, ok := structType.(*Device); ok { + return *casted + } + return nil +} + +func (m *_Device) GetTypeName() string { + return "Device" +} + +func (m *_Device) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (systemStatus) + lengthInBits += m.SystemStatus.GetLengthInBits(ctx) + + // Simple field (vendorName) + lengthInBits += m.VendorName.GetLengthInBits(ctx) + + // Simple field (vendorIdentifier) + lengthInBits += m.VendorIdentifier.GetLengthInBits(ctx) + + // Simple field (modelName) + lengthInBits += m.ModelName.GetLengthInBits(ctx) + + // Simple field (firmwareRevision) + lengthInBits += m.FirmwareRevision.GetLengthInBits(ctx) + + // Simple field (applicationSoftwareVersion) + lengthInBits += m.ApplicationSoftwareVersion.GetLengthInBits(ctx) + + // Simple field (location) + lengthInBits += m.Location.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (protocolVersion) + lengthInBits += m.ProtocolVersion.GetLengthInBits(ctx) + + // Simple field (protocolRevision) + lengthInBits += m.ProtocolRevision.GetLengthInBits(ctx) + + // Simple field (protocolServicesSupported) + lengthInBits += m.ProtocolServicesSupported.GetLengthInBits(ctx) + + // Simple field (protocolObjectTypesSupported) + lengthInBits += m.ProtocolObjectTypesSupported.GetLengthInBits(ctx) + + // Simple field (objectList) + lengthInBits += m.ObjectList.GetLengthInBits(ctx) + + // Simple field (structuredObjectList) + lengthInBits += m.StructuredObjectList.GetLengthInBits(ctx) + + // Simple field (maxAPDULengthAccepted) + lengthInBits += m.MaxAPDULengthAccepted.GetLengthInBits(ctx) + + // Simple field (segmentationSupported) + lengthInBits += m.SegmentationSupported.GetLengthInBits(ctx) + + // Simple field (maxSegmentsAccepted) + lengthInBits += m.MaxSegmentsAccepted.GetLengthInBits(ctx) + + // Simple field (vTClassesSupported) + lengthInBits += m.VTClassesSupported.GetLengthInBits(ctx) + + // Simple field (activeVTSessions) + lengthInBits += m.ActiveVTSessions.GetLengthInBits(ctx) + + // Simple field (localTime) + lengthInBits += m.LocalTime.GetLengthInBits(ctx) + + // Simple field (localDate) + lengthInBits += m.LocalDate.GetLengthInBits(ctx) + + // Simple field (uTCOffset) + lengthInBits += m.UTCOffset.GetLengthInBits(ctx) + + // Simple field (daylightSavingsStatus) + lengthInBits += m.DaylightSavingsStatus.GetLengthInBits(ctx) + + // Simple field (aPDUSegmentTimeout) + lengthInBits += m.APDUSegmentTimeout.GetLengthInBits(ctx) + + // Simple field (aPDUTimeout) + lengthInBits += m.APDUTimeout.GetLengthInBits(ctx) + + // Simple field (numberOfAPDURetries) + lengthInBits += m.NumberOfAPDURetries.GetLengthInBits(ctx) + + // Simple field (timeSynchronizationRecipients) + lengthInBits += m.TimeSynchronizationRecipients.GetLengthInBits(ctx) + + // Simple field (maxMaster) + lengthInBits += m.MaxMaster.GetLengthInBits(ctx) + + // Simple field (maxInfoFrames) + lengthInBits += m.MaxInfoFrames.GetLengthInBits(ctx) + + // Simple field (deviceAddressBinding) + lengthInBits += m.DeviceAddressBinding.GetLengthInBits(ctx) + + // Simple field (databaseRevision) + lengthInBits += m.DatabaseRevision.GetLengthInBits(ctx) + + // Simple field (configurationFiles) + lengthInBits += m.ConfigurationFiles.GetLengthInBits(ctx) + + // Simple field (lastRestoreTime) + lengthInBits += m.LastRestoreTime.GetLengthInBits(ctx) + + // Simple field (backupFailureTimeout) + lengthInBits += m.BackupFailureTimeout.GetLengthInBits(ctx) + + // Simple field (backupPreparationTime) + lengthInBits += m.BackupPreparationTime.GetLengthInBits(ctx) + + // Simple field (restorePreparationTime) + lengthInBits += m.RestorePreparationTime.GetLengthInBits(ctx) + + // Simple field (restoreCompletionTime) + lengthInBits += m.RestoreCompletionTime.GetLengthInBits(ctx) + + // Simple field (backupAndRestoreState) + lengthInBits += m.BackupAndRestoreState.GetLengthInBits(ctx) + + // Simple field (activeCOVSubscriptions) + lengthInBits += m.ActiveCOVSubscriptions.GetLengthInBits(ctx) + + // Simple field (lastRestartReason) + lengthInBits += m.LastRestartReason.GetLengthInBits(ctx) + + // Simple field (timeOfDeviceRestart) + lengthInBits += m.TimeOfDeviceRestart.GetLengthInBits(ctx) + + // Simple field (restartNotificationRecipients) + lengthInBits += m.RestartNotificationRecipients.GetLengthInBits(ctx) + + // Simple field (uTCTimeSynchronizationRecipients) + lengthInBits += m.UTCTimeSynchronizationRecipients.GetLengthInBits(ctx) + + // Simple field (timeSynchronizationInterval) + lengthInBits += m.TimeSynchronizationInterval.GetLengthInBits(ctx) + + // Simple field (alignIntervals) + lengthInBits += m.AlignIntervals.GetLengthInBits(ctx) + + // Simple field (intervalOffset) + lengthInBits += m.IntervalOffset.GetLengthInBits(ctx) + + // Simple field (serialNumber) + lengthInBits += m.SerialNumber.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (activeCOVMultipleSubscriptions) + lengthInBits += m.ActiveCOVMultipleSubscriptions.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (deployedProfileLocation) + lengthInBits += m.DeployedProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Device) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func DeviceParse(ctx context.Context, theBytes []byte) (Device, error) { + return DeviceParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func DeviceParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Device, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Device, error) { + return DeviceParseWithBuffer(ctx, readBuffer) + } +} + +func DeviceParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Device, error) { + v, err := (&_Device{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Device) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__device Device, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Device"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Device") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + systemStatus, err := ReadSimpleField[ReadableProperty](ctx, "systemStatus", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDeviceStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'systemStatus' field")) + } + m.SystemStatus = systemStatus + + vendorName, err := ReadSimpleField[ReadableProperty](ctx, "vendorName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'vendorName' field")) + } + m.VendorName = vendorName + + vendorIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "vendorIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'vendorIdentifier' field")) + } + m.VendorIdentifier = vendorIdentifier + + modelName, err := ReadSimpleField[ReadableProperty](ctx, "modelName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'modelName' field")) + } + m.ModelName = modelName + + firmwareRevision, err := ReadSimpleField[ReadableProperty](ctx, "firmwareRevision", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'firmwareRevision' field")) + } + m.FirmwareRevision = firmwareRevision + + applicationSoftwareVersion, err := ReadSimpleField[ReadableProperty](ctx, "applicationSoftwareVersion", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'applicationSoftwareVersion' field")) + } + m.ApplicationSoftwareVersion = applicationSoftwareVersion + + location, err := ReadSimpleField[OptionalProperty](ctx, "location", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'location' field")) + } + m.Location = location + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + protocolVersion, err := ReadSimpleField[ReadableProperty](ctx, "protocolVersion", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'protocolVersion' field")) + } + m.ProtocolVersion = protocolVersion + + protocolRevision, err := ReadSimpleField[ReadableProperty](ctx, "protocolRevision", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'protocolRevision' field")) + } + m.ProtocolRevision = protocolRevision + + protocolServicesSupported, err := ReadSimpleField[ReadableProperty](ctx, "protocolServicesSupported", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetServicesSupported")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'protocolServicesSupported' field")) + } + m.ProtocolServicesSupported = protocolServicesSupported + + protocolObjectTypesSupported, err := ReadSimpleField[ReadableProperty](ctx, "protocolObjectTypesSupported", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectTypesSupported")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'protocolObjectTypesSupported' field")) + } + m.ProtocolObjectTypesSupported = protocolObjectTypesSupported + + objectList, err := ReadSimpleField[ReadableProperty](ctx, "objectList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectList' field")) + } + m.ObjectList = objectList + + structuredObjectList, err := ReadSimpleField[OptionalProperty](ctx, "structuredObjectList", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'structuredObjectList' field")) + } + m.StructuredObjectList = structuredObjectList + + maxAPDULengthAccepted, err := ReadSimpleField[ReadableProperty](ctx, "maxAPDULengthAccepted", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxAPDULengthAccepted' field")) + } + m.MaxAPDULengthAccepted = maxAPDULengthAccepted + + segmentationSupported, err := ReadSimpleField[ReadableProperty](ctx, "segmentationSupported", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetSegmentation")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'segmentationSupported' field")) + } + m.SegmentationSupported = segmentationSupported + + maxSegmentsAccepted, err := ReadSimpleField[OptionalProperty](ctx, "maxSegmentsAccepted", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxSegmentsAccepted' field")) + } + m.MaxSegmentsAccepted = maxSegmentsAccepted + + vTClassesSupported, err := ReadSimpleField[OptionalProperty](ctx, "vTClassesSupported", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetVTClass")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'vTClassesSupported' field")) + } + m.VTClassesSupported = vTClassesSupported + + activeVTSessions, err := ReadSimpleField[OptionalProperty](ctx, "activeVTSessions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetVTSession")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'activeVTSessions' field")) + } + m.ActiveVTSessions = activeVTSessions + + localTime, err := ReadSimpleField[OptionalProperty](ctx, "localTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Time")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'localTime' field")) + } + m.LocalTime = localTime + + localDate, err := ReadSimpleField[OptionalProperty](ctx, "localDate", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Date")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'localDate' field")) + } + m.LocalDate = localDate + + uTCOffset, err := ReadSimpleField[OptionalProperty](ctx, "uTCOffset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'uTCOffset' field")) + } + m.UTCOffset = uTCOffset + + daylightSavingsStatus, err := ReadSimpleField[OptionalProperty](ctx, "daylightSavingsStatus", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'daylightSavingsStatus' field")) + } + m.DaylightSavingsStatus = daylightSavingsStatus + + aPDUSegmentTimeout, err := ReadSimpleField[OptionalProperty](ctx, "aPDUSegmentTimeout", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'aPDUSegmentTimeout' field")) + } + m.APDUSegmentTimeout = aPDUSegmentTimeout + + aPDUTimeout, err := ReadSimpleField[ReadableProperty](ctx, "aPDUTimeout", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'aPDUTimeout' field")) + } + m.APDUTimeout = aPDUTimeout + + numberOfAPDURetries, err := ReadSimpleField[ReadableProperty](ctx, "numberOfAPDURetries", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'numberOfAPDURetries' field")) + } + m.NumberOfAPDURetries = numberOfAPDURetries + + timeSynchronizationRecipients, err := ReadSimpleField[OptionalProperty](ctx, "timeSynchronizationRecipients", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetRecipient")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeSynchronizationRecipients' field")) + } + m.TimeSynchronizationRecipients = timeSynchronizationRecipients + + maxMaster, err := ReadSimpleField[OptionalProperty](ctx, "maxMaster", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned(0..127)")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxMaster' field")) + } + m.MaxMaster = maxMaster + + maxInfoFrames, err := ReadSimpleField[OptionalProperty](ctx, "maxInfoFrames", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxInfoFrames' field")) + } + m.MaxInfoFrames = maxInfoFrames + + deviceAddressBinding, err := ReadSimpleField[ReadableProperty](ctx, "deviceAddressBinding", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetAddressBinding")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceAddressBinding' field")) + } + m.DeviceAddressBinding = deviceAddressBinding + + databaseRevision, err := ReadSimpleField[ReadableProperty](ctx, "databaseRevision", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'databaseRevision' field")) + } + m.DatabaseRevision = databaseRevision + + configurationFiles, err := ReadSimpleField[OptionalProperty](ctx, "configurationFiles", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'configurationFiles' field")) + } + m.ConfigurationFiles = configurationFiles + + lastRestoreTime, err := ReadSimpleField[OptionalProperty](ctx, "lastRestoreTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastRestoreTime' field")) + } + m.LastRestoreTime = lastRestoreTime + + backupFailureTimeout, err := ReadSimpleField[OptionalProperty](ctx, "backupFailureTimeout", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'backupFailureTimeout' field")) + } + m.BackupFailureTimeout = backupFailureTimeout + + backupPreparationTime, err := ReadSimpleField[OptionalProperty](ctx, "backupPreparationTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'backupPreparationTime' field")) + } + m.BackupPreparationTime = backupPreparationTime + + restorePreparationTime, err := ReadSimpleField[OptionalProperty](ctx, "restorePreparationTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'restorePreparationTime' field")) + } + m.RestorePreparationTime = restorePreparationTime + + restoreCompletionTime, err := ReadSimpleField[OptionalProperty](ctx, "restoreCompletionTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'restoreCompletionTime' field")) + } + m.RestoreCompletionTime = restoreCompletionTime + + backupAndRestoreState, err := ReadSimpleField[OptionalProperty](ctx, "backupAndRestoreState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetBackupState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'backupAndRestoreState' field")) + } + m.BackupAndRestoreState = backupAndRestoreState + + activeCOVSubscriptions, err := ReadSimpleField[OptionalProperty](ctx, "activeCOVSubscriptions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetCOVSubscription")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'activeCOVSubscriptions' field")) + } + m.ActiveCOVSubscriptions = activeCOVSubscriptions + + lastRestartReason, err := ReadSimpleField[OptionalProperty](ctx, "lastRestartReason", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetRestartReason")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastRestartReason' field")) + } + m.LastRestartReason = lastRestartReason + + timeOfDeviceRestart, err := ReadSimpleField[OptionalProperty](ctx, "timeOfDeviceRestart", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeOfDeviceRestart' field")) + } + m.TimeOfDeviceRestart = timeOfDeviceRestart + + restartNotificationRecipients, err := ReadSimpleField[OptionalProperty](ctx, "restartNotificationRecipients", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetRecipient")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'restartNotificationRecipients' field")) + } + m.RestartNotificationRecipients = restartNotificationRecipients + + uTCTimeSynchronizationRecipients, err := ReadSimpleField[OptionalProperty](ctx, "uTCTimeSynchronizationRecipients", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetRecipient")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'uTCTimeSynchronizationRecipients' field")) + } + m.UTCTimeSynchronizationRecipients = uTCTimeSynchronizationRecipients + + timeSynchronizationInterval, err := ReadSimpleField[OptionalProperty](ctx, "timeSynchronizationInterval", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeSynchronizationInterval' field")) + } + m.TimeSynchronizationInterval = timeSynchronizationInterval + + alignIntervals, err := ReadSimpleField[OptionalProperty](ctx, "alignIntervals", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alignIntervals' field")) + } + m.AlignIntervals = alignIntervals + + intervalOffset, err := ReadSimpleField[OptionalProperty](ctx, "intervalOffset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'intervalOffset' field")) + } + m.IntervalOffset = intervalOffset + + serialNumber, err := ReadSimpleField[OptionalProperty](ctx, "serialNumber", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'serialNumber' field")) + } + m.SerialNumber = serialNumber + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + statusFlags, err := ReadSimpleField[OptionalProperty](ctx, "statusFlags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + activeCOVMultipleSubscriptions, err := ReadSimpleField[OptionalProperty](ctx, "activeCOVMultipleSubscriptions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetCOVMultipleSubscription")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'activeCOVMultipleSubscriptions' field")) + } + m.ActiveCOVMultipleSubscriptions = activeCOVMultipleSubscriptions + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + deployedProfileLocation, err := ReadSimpleField[OptionalProperty](ctx, "deployedProfileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deployedProfileLocation' field")) + } + m.DeployedProfileLocation = deployedProfileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Device"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Device") + } + + return m, nil +} + +func (m *_Device) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Device) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Device"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Device") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "systemStatus", m.GetSystemStatus(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'systemStatus' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "vendorName", m.GetVendorName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'vendorName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "vendorIdentifier", m.GetVendorIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'vendorIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "modelName", m.GetModelName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'modelName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "firmwareRevision", m.GetFirmwareRevision(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'firmwareRevision' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "applicationSoftwareVersion", m.GetApplicationSoftwareVersion(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'applicationSoftwareVersion' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "location", m.GetLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'location' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "protocolVersion", m.GetProtocolVersion(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'protocolVersion' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "protocolRevision", m.GetProtocolRevision(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'protocolRevision' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "protocolServicesSupported", m.GetProtocolServicesSupported(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'protocolServicesSupported' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "protocolObjectTypesSupported", m.GetProtocolObjectTypesSupported(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'protocolObjectTypesSupported' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectList", m.GetObjectList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "structuredObjectList", m.GetStructuredObjectList(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'structuredObjectList' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "maxAPDULengthAccepted", m.GetMaxAPDULengthAccepted(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxAPDULengthAccepted' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "segmentationSupported", m.GetSegmentationSupported(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'segmentationSupported' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxSegmentsAccepted", m.GetMaxSegmentsAccepted(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxSegmentsAccepted' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "vTClassesSupported", m.GetVTClassesSupported(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'vTClassesSupported' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "activeVTSessions", m.GetActiveVTSessions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'activeVTSessions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "localTime", m.GetLocalTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'localTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "localDate", m.GetLocalDate(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'localDate' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "uTCOffset", m.GetUTCOffset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'uTCOffset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "daylightSavingsStatus", m.GetDaylightSavingsStatus(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'daylightSavingsStatus' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "aPDUSegmentTimeout", m.GetAPDUSegmentTimeout(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'aPDUSegmentTimeout' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "aPDUTimeout", m.GetAPDUTimeout(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'aPDUTimeout' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "numberOfAPDURetries", m.GetNumberOfAPDURetries(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'numberOfAPDURetries' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeSynchronizationRecipients", m.GetTimeSynchronizationRecipients(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeSynchronizationRecipients' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxMaster", m.GetMaxMaster(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxMaster' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxInfoFrames", m.GetMaxInfoFrames(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxInfoFrames' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "deviceAddressBinding", m.GetDeviceAddressBinding(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceAddressBinding' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "databaseRevision", m.GetDatabaseRevision(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'databaseRevision' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "configurationFiles", m.GetConfigurationFiles(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'configurationFiles' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastRestoreTime", m.GetLastRestoreTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastRestoreTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "backupFailureTimeout", m.GetBackupFailureTimeout(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'backupFailureTimeout' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "backupPreparationTime", m.GetBackupPreparationTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'backupPreparationTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "restorePreparationTime", m.GetRestorePreparationTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'restorePreparationTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "restoreCompletionTime", m.GetRestoreCompletionTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'restoreCompletionTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "backupAndRestoreState", m.GetBackupAndRestoreState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'backupAndRestoreState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "activeCOVSubscriptions", m.GetActiveCOVSubscriptions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'activeCOVSubscriptions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastRestartReason", m.GetLastRestartReason(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastRestartReason' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeOfDeviceRestart", m.GetTimeOfDeviceRestart(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeOfDeviceRestart' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "restartNotificationRecipients", m.GetRestartNotificationRecipients(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'restartNotificationRecipients' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "uTCTimeSynchronizationRecipients", m.GetUTCTimeSynchronizationRecipients(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'uTCTimeSynchronizationRecipients' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeSynchronizationInterval", m.GetTimeSynchronizationInterval(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeSynchronizationInterval' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alignIntervals", m.GetAlignIntervals(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alignIntervals' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "intervalOffset", m.GetIntervalOffset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'intervalOffset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "serialNumber", m.GetSerialNumber(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'serialNumber' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "activeCOVMultipleSubscriptions", m.GetActiveCOVMultipleSubscriptions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'activeCOVMultipleSubscriptions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deployedProfileLocation", m.GetDeployedProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deployedProfileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Device"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Device") + } + return nil +} + +func (m *_Device) IsDevice() {} + +func (m *_Device) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Device) deepCopy() *_Device { + if m == nil { + return nil + } + _DeviceCopy := &_Device{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.SystemStatus.DeepCopy().(ReadableProperty), + m.VendorName.DeepCopy().(ReadableProperty), + m.VendorIdentifier.DeepCopy().(ReadableProperty), + m.ModelName.DeepCopy().(ReadableProperty), + m.FirmwareRevision.DeepCopy().(ReadableProperty), + m.ApplicationSoftwareVersion.DeepCopy().(ReadableProperty), + m.Location.DeepCopy().(OptionalProperty), + m.Description.DeepCopy().(OptionalProperty), + m.ProtocolVersion.DeepCopy().(ReadableProperty), + m.ProtocolRevision.DeepCopy().(ReadableProperty), + m.ProtocolServicesSupported.DeepCopy().(ReadableProperty), + m.ProtocolObjectTypesSupported.DeepCopy().(ReadableProperty), + m.ObjectList.DeepCopy().(ReadableProperty), + m.StructuredObjectList.DeepCopy().(OptionalProperty), + m.MaxAPDULengthAccepted.DeepCopy().(ReadableProperty), + m.SegmentationSupported.DeepCopy().(ReadableProperty), + m.MaxSegmentsAccepted.DeepCopy().(OptionalProperty), + m.VTClassesSupported.DeepCopy().(OptionalProperty), + m.ActiveVTSessions.DeepCopy().(OptionalProperty), + m.LocalTime.DeepCopy().(OptionalProperty), + m.LocalDate.DeepCopy().(OptionalProperty), + m.UTCOffset.DeepCopy().(OptionalProperty), + m.DaylightSavingsStatus.DeepCopy().(OptionalProperty), + m.APDUSegmentTimeout.DeepCopy().(OptionalProperty), + m.APDUTimeout.DeepCopy().(ReadableProperty), + m.NumberOfAPDURetries.DeepCopy().(ReadableProperty), + m.TimeSynchronizationRecipients.DeepCopy().(OptionalProperty), + m.MaxMaster.DeepCopy().(OptionalProperty), + m.MaxInfoFrames.DeepCopy().(OptionalProperty), + m.DeviceAddressBinding.DeepCopy().(ReadableProperty), + m.DatabaseRevision.DeepCopy().(ReadableProperty), + m.ConfigurationFiles.DeepCopy().(OptionalProperty), + m.LastRestoreTime.DeepCopy().(OptionalProperty), + m.BackupFailureTimeout.DeepCopy().(OptionalProperty), + m.BackupPreparationTime.DeepCopy().(OptionalProperty), + m.RestorePreparationTime.DeepCopy().(OptionalProperty), + m.RestoreCompletionTime.DeepCopy().(OptionalProperty), + m.BackupAndRestoreState.DeepCopy().(OptionalProperty), + m.ActiveCOVSubscriptions.DeepCopy().(OptionalProperty), + m.LastRestartReason.DeepCopy().(OptionalProperty), + m.TimeOfDeviceRestart.DeepCopy().(OptionalProperty), + m.RestartNotificationRecipients.DeepCopy().(OptionalProperty), + m.UTCTimeSynchronizationRecipients.DeepCopy().(OptionalProperty), + m.TimeSynchronizationInterval.DeepCopy().(OptionalProperty), + m.AlignIntervals.DeepCopy().(OptionalProperty), + m.IntervalOffset.DeepCopy().(OptionalProperty), + m.SerialNumber.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.ActiveCOVMultipleSubscriptions.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.DeployedProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _DeviceCopy +} + +func (m *_Device) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/ElevatorGroup.go b/plc4go/protocols/bacnetip/readwrite/model/ElevatorGroup.go new file mode 100644 index 00000000000..7a07c48405b --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/ElevatorGroup.go @@ -0,0 +1,976 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// ElevatorGroup is the corresponding interface of ElevatorGroup +type ElevatorGroup interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetMachineRoomID returns MachineRoomID (property field) + GetMachineRoomID() ReadableProperty + // GetGroupID returns GroupID (property field) + GetGroupID() ReadableProperty + // GetGroupMembers returns GroupMembers (property field) + GetGroupMembers() ReadableProperty + // GetGroupMode returns GroupMode (property field) + GetGroupMode() OptionalProperty + // GetLandingCalls returns LandingCalls (property field) + GetLandingCalls() OptionalProperty + // GetLandingCallControl returns LandingCallControl (property field) + GetLandingCallControl() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsElevatorGroup is a marker method to prevent unintentional type checks (interfaces of same signature) + IsElevatorGroup() + // CreateBuilder creates a ElevatorGroupBuilder + CreateElevatorGroupBuilder() ElevatorGroupBuilder +} + +// _ElevatorGroup is the data-structure of this message +type _ElevatorGroup struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + MachineRoomID ReadableProperty + GroupID ReadableProperty + GroupMembers ReadableProperty + GroupMode OptionalProperty + LandingCalls OptionalProperty + LandingCallControl OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ ElevatorGroup = (*_ElevatorGroup)(nil) + +// NewElevatorGroup factory function for _ElevatorGroup +func NewElevatorGroup(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, machineRoomID ReadableProperty, groupID ReadableProperty, groupMembers ReadableProperty, groupMode OptionalProperty, landingCalls OptionalProperty, landingCallControl OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_ElevatorGroup { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for ElevatorGroup must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for ElevatorGroup must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for ElevatorGroup must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for ElevatorGroup must not be nil") + } + if machineRoomID == nil { + panic("machineRoomID of type ReadableProperty for ElevatorGroup must not be nil") + } + if groupID == nil { + panic("groupID of type ReadableProperty for ElevatorGroup must not be nil") + } + if groupMembers == nil { + panic("groupMembers of type ReadableProperty for ElevatorGroup must not be nil") + } + if groupMode == nil { + panic("groupMode of type OptionalProperty for ElevatorGroup must not be nil") + } + if landingCalls == nil { + panic("landingCalls of type OptionalProperty for ElevatorGroup must not be nil") + } + if landingCallControl == nil { + panic("landingCallControl of type OptionalProperty for ElevatorGroup must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for ElevatorGroup must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for ElevatorGroup must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for ElevatorGroup must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for ElevatorGroup must not be nil") + } + return &_ElevatorGroup{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, MachineRoomID: machineRoomID, GroupID: groupID, GroupMembers: groupMembers, GroupMode: groupMode, LandingCalls: landingCalls, LandingCallControl: landingCallControl, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// ElevatorGroupBuilder is a builder for ElevatorGroup +type ElevatorGroupBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, machineRoomID ReadableProperty, groupID ReadableProperty, groupMembers ReadableProperty, groupMode OptionalProperty, landingCalls OptionalProperty, landingCallControl OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) ElevatorGroupBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) ElevatorGroupBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) ElevatorGroupBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) ElevatorGroupBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) ElevatorGroupBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder + // WithMachineRoomID adds MachineRoomID (property field) + WithMachineRoomID(ReadableProperty) ElevatorGroupBuilder + // WithMachineRoomIDBuilder adds MachineRoomID (property field) which is build by the builder + WithMachineRoomIDBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder + // WithGroupID adds GroupID (property field) + WithGroupID(ReadableProperty) ElevatorGroupBuilder + // WithGroupIDBuilder adds GroupID (property field) which is build by the builder + WithGroupIDBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder + // WithGroupMembers adds GroupMembers (property field) + WithGroupMembers(ReadableProperty) ElevatorGroupBuilder + // WithGroupMembersBuilder adds GroupMembers (property field) which is build by the builder + WithGroupMembersBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder + // WithGroupMode adds GroupMode (property field) + WithGroupMode(OptionalProperty) ElevatorGroupBuilder + // WithGroupModeBuilder adds GroupMode (property field) which is build by the builder + WithGroupModeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder + // WithLandingCalls adds LandingCalls (property field) + WithLandingCalls(OptionalProperty) ElevatorGroupBuilder + // WithLandingCallsBuilder adds LandingCalls (property field) which is build by the builder + WithLandingCallsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder + // WithLandingCallControl adds LandingCallControl (property field) + WithLandingCallControl(OptionalProperty) ElevatorGroupBuilder + // WithLandingCallControlBuilder adds LandingCallControl (property field) which is build by the builder + WithLandingCallControlBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) ElevatorGroupBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) ElevatorGroupBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) ElevatorGroupBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) ElevatorGroupBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder + // Build builds the ElevatorGroup or returns an error if something is wrong + Build() (ElevatorGroup, error) + // MustBuild does the same as Build but panics on error + MustBuild() ElevatorGroup +} + +// NewElevatorGroupBuilder() creates a ElevatorGroupBuilder +func NewElevatorGroupBuilder() ElevatorGroupBuilder { + return &_ElevatorGroupBuilder{_ElevatorGroup: new(_ElevatorGroup)} +} + +type _ElevatorGroupBuilder struct { + *_ElevatorGroup + + err *utils.MultiError +} + +var _ (ElevatorGroupBuilder) = (*_ElevatorGroupBuilder)(nil) + +func (b *_ElevatorGroupBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, machineRoomID ReadableProperty, groupID ReadableProperty, groupMembers ReadableProperty, groupMode OptionalProperty, landingCalls OptionalProperty, landingCallControl OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) ElevatorGroupBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithMachineRoomID(machineRoomID).WithGroupID(groupID).WithGroupMembers(groupMembers).WithGroupMode(groupMode).WithLandingCalls(landingCalls).WithLandingCallControl(landingCallControl).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_ElevatorGroupBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) ElevatorGroupBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_ElevatorGroupBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithObjectName(objectName ReadableProperty) ElevatorGroupBuilder { + b.ObjectName = objectName + return b +} + +func (b *_ElevatorGroupBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithObjectType(objectType ReadableProperty) ElevatorGroupBuilder { + b.ObjectType = objectType + return b +} + +func (b *_ElevatorGroupBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithDescription(description OptionalProperty) ElevatorGroupBuilder { + b.Description = description + return b +} + +func (b *_ElevatorGroupBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithMachineRoomID(machineRoomID ReadableProperty) ElevatorGroupBuilder { + b.MachineRoomID = machineRoomID + return b +} + +func (b *_ElevatorGroupBuilder) WithMachineRoomIDBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.MachineRoomID.CreateReadablePropertyBuilder()) + var err error + b.MachineRoomID, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithGroupID(groupID ReadableProperty) ElevatorGroupBuilder { + b.GroupID = groupID + return b +} + +func (b *_ElevatorGroupBuilder) WithGroupIDBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.GroupID.CreateReadablePropertyBuilder()) + var err error + b.GroupID, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithGroupMembers(groupMembers ReadableProperty) ElevatorGroupBuilder { + b.GroupMembers = groupMembers + return b +} + +func (b *_ElevatorGroupBuilder) WithGroupMembersBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.GroupMembers.CreateReadablePropertyBuilder()) + var err error + b.GroupMembers, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithGroupMode(groupMode OptionalProperty) ElevatorGroupBuilder { + b.GroupMode = groupMode + return b +} + +func (b *_ElevatorGroupBuilder) WithGroupModeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.GroupMode.CreateOptionalPropertyBuilder()) + var err error + b.GroupMode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithLandingCalls(landingCalls OptionalProperty) ElevatorGroupBuilder { + b.LandingCalls = landingCalls + return b +} + +func (b *_ElevatorGroupBuilder) WithLandingCallsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.LandingCalls.CreateOptionalPropertyBuilder()) + var err error + b.LandingCalls, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithLandingCallControl(landingCallControl OptionalProperty) ElevatorGroupBuilder { + b.LandingCallControl = landingCallControl + return b +} + +func (b *_ElevatorGroupBuilder) WithLandingCallControlBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.LandingCallControl.CreateOptionalPropertyBuilder()) + var err error + b.LandingCallControl, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithPropertyList(propertyList ReadableProperty) ElevatorGroupBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_ElevatorGroupBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithTags(tags OptionalProperty) ElevatorGroupBuilder { + b.Tags = tags + return b +} + +func (b *_ElevatorGroupBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithProfileLocation(profileLocation OptionalProperty) ElevatorGroupBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_ElevatorGroupBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) WithProfileName(profileName OptionalProperty) ElevatorGroupBuilder { + b.ProfileName = profileName + return b +} + +func (b *_ElevatorGroupBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ElevatorGroupBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ElevatorGroupBuilder) Build() (ElevatorGroup, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.MachineRoomID == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'machineRoomID' not set")) + } + if b.GroupID == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'groupID' not set")) + } + if b.GroupMembers == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'groupMembers' not set")) + } + if b.GroupMode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'groupMode' not set")) + } + if b.LandingCalls == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'landingCalls' not set")) + } + if b.LandingCallControl == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'landingCallControl' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._ElevatorGroup.deepCopy(), nil +} + +func (b *_ElevatorGroupBuilder) MustBuild() ElevatorGroup { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_ElevatorGroupBuilder) DeepCopy() any { + _copy := b.CreateElevatorGroupBuilder().(*_ElevatorGroupBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateElevatorGroupBuilder creates a ElevatorGroupBuilder +func (b *_ElevatorGroup) CreateElevatorGroupBuilder() ElevatorGroupBuilder { + if b == nil { + return NewElevatorGroupBuilder() + } + return &_ElevatorGroupBuilder{_ElevatorGroup: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_ElevatorGroup) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_ElevatorGroup) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_ElevatorGroup) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_ElevatorGroup) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_ElevatorGroup) GetMachineRoomID() ReadableProperty { + return m.MachineRoomID +} + +func (m *_ElevatorGroup) GetGroupID() ReadableProperty { + return m.GroupID +} + +func (m *_ElevatorGroup) GetGroupMembers() ReadableProperty { + return m.GroupMembers +} + +func (m *_ElevatorGroup) GetGroupMode() OptionalProperty { + return m.GroupMode +} + +func (m *_ElevatorGroup) GetLandingCalls() OptionalProperty { + return m.LandingCalls +} + +func (m *_ElevatorGroup) GetLandingCallControl() OptionalProperty { + return m.LandingCallControl +} + +func (m *_ElevatorGroup) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_ElevatorGroup) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_ElevatorGroup) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_ElevatorGroup) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastElevatorGroup(structType any) ElevatorGroup { + if casted, ok := structType.(ElevatorGroup); ok { + return casted + } + if casted, ok := structType.(*ElevatorGroup); ok { + return *casted + } + return nil +} + +func (m *_ElevatorGroup) GetTypeName() string { + return "ElevatorGroup" +} + +func (m *_ElevatorGroup) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (machineRoomID) + lengthInBits += m.MachineRoomID.GetLengthInBits(ctx) + + // Simple field (groupID) + lengthInBits += m.GroupID.GetLengthInBits(ctx) + + // Simple field (groupMembers) + lengthInBits += m.GroupMembers.GetLengthInBits(ctx) + + // Simple field (groupMode) + lengthInBits += m.GroupMode.GetLengthInBits(ctx) + + // Simple field (landingCalls) + lengthInBits += m.LandingCalls.GetLengthInBits(ctx) + + // Simple field (landingCallControl) + lengthInBits += m.LandingCallControl.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_ElevatorGroup) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func ElevatorGroupParse(ctx context.Context, theBytes []byte) (ElevatorGroup, error) { + return ElevatorGroupParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func ElevatorGroupParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (ElevatorGroup, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (ElevatorGroup, error) { + return ElevatorGroupParseWithBuffer(ctx, readBuffer) + } +} + +func ElevatorGroupParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (ElevatorGroup, error) { + v, err := (&_ElevatorGroup{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_ElevatorGroup) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__elevatorGroup ElevatorGroup, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("ElevatorGroup"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for ElevatorGroup") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + machineRoomID, err := ReadSimpleField[ReadableProperty](ctx, "machineRoomID", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'machineRoomID' field")) + } + m.MachineRoomID = machineRoomID + + groupID, err := ReadSimpleField[ReadableProperty](ctx, "groupID", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'groupID' field")) + } + m.GroupID = groupID + + groupMembers, err := ReadSimpleField[ReadableProperty](ctx, "groupMembers", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'groupMembers' field")) + } + m.GroupMembers = groupMembers + + groupMode, err := ReadSimpleField[OptionalProperty](ctx, "groupMode", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLiftGroupMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'groupMode' field")) + } + m.GroupMode = groupMode + + landingCalls, err := ReadSimpleField[OptionalProperty](ctx, "landingCalls", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLandingCallStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'landingCalls' field")) + } + m.LandingCalls = landingCalls + + landingCallControl, err := ReadSimpleField[OptionalProperty](ctx, "landingCallControl", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLandingCallStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'landingCallControl' field")) + } + m.LandingCallControl = landingCallControl + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("ElevatorGroup"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for ElevatorGroup") + } + + return m, nil +} + +func (m *_ElevatorGroup) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_ElevatorGroup) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("ElevatorGroup"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for ElevatorGroup") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "machineRoomID", m.GetMachineRoomID(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'machineRoomID' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "groupID", m.GetGroupID(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'groupID' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "groupMembers", m.GetGroupMembers(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'groupMembers' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "groupMode", m.GetGroupMode(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'groupMode' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "landingCalls", m.GetLandingCalls(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'landingCalls' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "landingCallControl", m.GetLandingCallControl(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'landingCallControl' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("ElevatorGroup"); popErr != nil { + return errors.Wrap(popErr, "Error popping for ElevatorGroup") + } + return nil +} + +func (m *_ElevatorGroup) IsElevatorGroup() {} + +func (m *_ElevatorGroup) DeepCopy() any { + return m.deepCopy() +} + +func (m *_ElevatorGroup) deepCopy() *_ElevatorGroup { + if m == nil { + return nil + } + _ElevatorGroupCopy := &_ElevatorGroup{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.MachineRoomID.DeepCopy().(ReadableProperty), + m.GroupID.DeepCopy().(ReadableProperty), + m.GroupMembers.DeepCopy().(ReadableProperty), + m.GroupMode.DeepCopy().(OptionalProperty), + m.LandingCalls.DeepCopy().(OptionalProperty), + m.LandingCallControl.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _ElevatorGroupCopy +} + +func (m *_ElevatorGroup) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Escalator.go b/plc4go/protocols/bacnetip/readwrite/model/Escalator.go new file mode 100644 index 00000000000..e2b3574e896 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Escalator.go @@ -0,0 +1,2068 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Escalator is the corresponding interface of Escalator +type Escalator interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetElevatorGroup returns ElevatorGroup (property field) + GetElevatorGroup() ReadableProperty + // GetGroupID returns GroupID (property field) + GetGroupID() ReadableProperty + // GetInstallationID returns InstallationID (property field) + GetInstallationID() ReadableProperty + // GetPowerMode returns PowerMode (property field) + GetPowerMode() OptionalProperty + // GetOperationDirection returns OperationDirection (property field) + GetOperationDirection() ReadableProperty + // GetEscalatorMode returns EscalatorMode (property field) + GetEscalatorMode() OptionalProperty + // GetEnergyMeter returns EnergyMeter (property field) + GetEnergyMeter() OptionalProperty + // GetEnergyMeterRef returns EnergyMeterRef (property field) + GetEnergyMeterRef() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetFaultSignals returns FaultSignals (property field) + GetFaultSignals() OptionalProperty + // GetPassengerAlarm returns PassengerAlarm (property field) + GetPassengerAlarm() ReadableProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsEscalator is a marker method to prevent unintentional type checks (interfaces of same signature) + IsEscalator() + // CreateBuilder creates a EscalatorBuilder + CreateEscalatorBuilder() EscalatorBuilder +} + +// _Escalator is the data-structure of this message +type _Escalator struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + ElevatorGroup ReadableProperty + GroupID ReadableProperty + InstallationID ReadableProperty + PowerMode OptionalProperty + OperationDirection ReadableProperty + EscalatorMode OptionalProperty + EnergyMeter OptionalProperty + EnergyMeterRef OptionalProperty + Reliability OptionalProperty + OutOfService ReadableProperty + FaultSignals OptionalProperty + PassengerAlarm ReadableProperty + TimeDelay OptionalProperty + TimeDelayNormal OptionalProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + EventState OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventAlgorithmInhibit OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Escalator = (*_Escalator)(nil) + +// NewEscalator factory function for _Escalator +func NewEscalator(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, elevatorGroup ReadableProperty, groupID ReadableProperty, installationID ReadableProperty, powerMode OptionalProperty, operationDirection ReadableProperty, escalatorMode OptionalProperty, energyMeter OptionalProperty, energyMeterRef OptionalProperty, reliability OptionalProperty, outOfService ReadableProperty, faultSignals OptionalProperty, passengerAlarm ReadableProperty, timeDelay OptionalProperty, timeDelayNormal OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibit OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Escalator { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Escalator must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Escalator must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Escalator must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Escalator must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for Escalator must not be nil") + } + if elevatorGroup == nil { + panic("elevatorGroup of type ReadableProperty for Escalator must not be nil") + } + if groupID == nil { + panic("groupID of type ReadableProperty for Escalator must not be nil") + } + if installationID == nil { + panic("installationID of type ReadableProperty for Escalator must not be nil") + } + if powerMode == nil { + panic("powerMode of type OptionalProperty for Escalator must not be nil") + } + if operationDirection == nil { + panic("operationDirection of type ReadableProperty for Escalator must not be nil") + } + if escalatorMode == nil { + panic("escalatorMode of type OptionalProperty for Escalator must not be nil") + } + if energyMeter == nil { + panic("energyMeter of type OptionalProperty for Escalator must not be nil") + } + if energyMeterRef == nil { + panic("energyMeterRef of type OptionalProperty for Escalator must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for Escalator must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for Escalator must not be nil") + } + if faultSignals == nil { + panic("faultSignals of type OptionalProperty for Escalator must not be nil") + } + if passengerAlarm == nil { + panic("passengerAlarm of type ReadableProperty for Escalator must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for Escalator must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for Escalator must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Escalator must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Escalator must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Escalator must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for Escalator must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Escalator must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Escalator must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Escalator must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Escalator must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Escalator must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for Escalator must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for Escalator must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Escalator must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Escalator must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Escalator must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Escalator must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Escalator must not be nil") + } + return &_Escalator{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, StatusFlags: statusFlags, ElevatorGroup: elevatorGroup, GroupID: groupID, InstallationID: installationID, PowerMode: powerMode, OperationDirection: operationDirection, EscalatorMode: escalatorMode, EnergyMeter: energyMeter, EnergyMeterRef: energyMeterRef, Reliability: reliability, OutOfService: outOfService, FaultSignals: faultSignals, PassengerAlarm: passengerAlarm, TimeDelay: timeDelay, TimeDelayNormal: timeDelayNormal, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, EventState: eventState, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventAlgorithmInhibit: eventAlgorithmInhibit, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// EscalatorBuilder is a builder for Escalator +type EscalatorBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, elevatorGroup ReadableProperty, groupID ReadableProperty, installationID ReadableProperty, powerMode OptionalProperty, operationDirection ReadableProperty, escalatorMode OptionalProperty, energyMeter OptionalProperty, energyMeterRef OptionalProperty, reliability OptionalProperty, outOfService ReadableProperty, faultSignals OptionalProperty, passengerAlarm ReadableProperty, timeDelay OptionalProperty, timeDelayNormal OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibit OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) EscalatorBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) EscalatorBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) EscalatorBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) EscalatorBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) EscalatorBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) EscalatorBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithElevatorGroup adds ElevatorGroup (property field) + WithElevatorGroup(ReadableProperty) EscalatorBuilder + // WithElevatorGroupBuilder adds ElevatorGroup (property field) which is build by the builder + WithElevatorGroupBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithGroupID adds GroupID (property field) + WithGroupID(ReadableProperty) EscalatorBuilder + // WithGroupIDBuilder adds GroupID (property field) which is build by the builder + WithGroupIDBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithInstallationID adds InstallationID (property field) + WithInstallationID(ReadableProperty) EscalatorBuilder + // WithInstallationIDBuilder adds InstallationID (property field) which is build by the builder + WithInstallationIDBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithPowerMode adds PowerMode (property field) + WithPowerMode(OptionalProperty) EscalatorBuilder + // WithPowerModeBuilder adds PowerMode (property field) which is build by the builder + WithPowerModeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithOperationDirection adds OperationDirection (property field) + WithOperationDirection(ReadableProperty) EscalatorBuilder + // WithOperationDirectionBuilder adds OperationDirection (property field) which is build by the builder + WithOperationDirectionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithEscalatorMode adds EscalatorMode (property field) + WithEscalatorMode(OptionalProperty) EscalatorBuilder + // WithEscalatorModeBuilder adds EscalatorMode (property field) which is build by the builder + WithEscalatorModeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEnergyMeter adds EnergyMeter (property field) + WithEnergyMeter(OptionalProperty) EscalatorBuilder + // WithEnergyMeterBuilder adds EnergyMeter (property field) which is build by the builder + WithEnergyMeterBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEnergyMeterRef adds EnergyMeterRef (property field) + WithEnergyMeterRef(OptionalProperty) EscalatorBuilder + // WithEnergyMeterRefBuilder adds EnergyMeterRef (property field) which is build by the builder + WithEnergyMeterRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) EscalatorBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) EscalatorBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithFaultSignals adds FaultSignals (property field) + WithFaultSignals(OptionalProperty) EscalatorBuilder + // WithFaultSignalsBuilder adds FaultSignals (property field) which is build by the builder + WithFaultSignalsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithPassengerAlarm adds PassengerAlarm (property field) + WithPassengerAlarm(ReadableProperty) EscalatorBuilder + // WithPassengerAlarmBuilder adds PassengerAlarm (property field) which is build by the builder + WithPassengerAlarmBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) EscalatorBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) EscalatorBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) EscalatorBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) EscalatorBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) EscalatorBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) EscalatorBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) EscalatorBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) EscalatorBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) EscalatorBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) EscalatorBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) EscalatorBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) EscalatorBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) EscalatorBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) EscalatorBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) EscalatorBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) EscalatorBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) EscalatorBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) EscalatorBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder + // Build builds the Escalator or returns an error if something is wrong + Build() (Escalator, error) + // MustBuild does the same as Build but panics on error + MustBuild() Escalator +} + +// NewEscalatorBuilder() creates a EscalatorBuilder +func NewEscalatorBuilder() EscalatorBuilder { + return &_EscalatorBuilder{_Escalator: new(_Escalator)} +} + +type _EscalatorBuilder struct { + *_Escalator + + err *utils.MultiError +} + +var _ (EscalatorBuilder) = (*_EscalatorBuilder)(nil) + +func (b *_EscalatorBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, elevatorGroup ReadableProperty, groupID ReadableProperty, installationID ReadableProperty, powerMode OptionalProperty, operationDirection ReadableProperty, escalatorMode OptionalProperty, energyMeter OptionalProperty, energyMeterRef OptionalProperty, reliability OptionalProperty, outOfService ReadableProperty, faultSignals OptionalProperty, passengerAlarm ReadableProperty, timeDelay OptionalProperty, timeDelayNormal OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibit OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) EscalatorBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithStatusFlags(statusFlags).WithElevatorGroup(elevatorGroup).WithGroupID(groupID).WithInstallationID(installationID).WithPowerMode(powerMode).WithOperationDirection(operationDirection).WithEscalatorMode(escalatorMode).WithEnergyMeter(energyMeter).WithEnergyMeterRef(energyMeterRef).WithReliability(reliability).WithOutOfService(outOfService).WithFaultSignals(faultSignals).WithPassengerAlarm(passengerAlarm).WithTimeDelay(timeDelay).WithTimeDelayNormal(timeDelayNormal).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithEventState(eventState).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_EscalatorBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) EscalatorBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_EscalatorBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithObjectName(objectName ReadableProperty) EscalatorBuilder { + b.ObjectName = objectName + return b +} + +func (b *_EscalatorBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithObjectType(objectType ReadableProperty) EscalatorBuilder { + b.ObjectType = objectType + return b +} + +func (b *_EscalatorBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithDescription(description OptionalProperty) EscalatorBuilder { + b.Description = description + return b +} + +func (b *_EscalatorBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithStatusFlags(statusFlags ReadableProperty) EscalatorBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_EscalatorBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithElevatorGroup(elevatorGroup ReadableProperty) EscalatorBuilder { + b.ElevatorGroup = elevatorGroup + return b +} + +func (b *_EscalatorBuilder) WithElevatorGroupBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.ElevatorGroup.CreateReadablePropertyBuilder()) + var err error + b.ElevatorGroup, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithGroupID(groupID ReadableProperty) EscalatorBuilder { + b.GroupID = groupID + return b +} + +func (b *_EscalatorBuilder) WithGroupIDBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.GroupID.CreateReadablePropertyBuilder()) + var err error + b.GroupID, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithInstallationID(installationID ReadableProperty) EscalatorBuilder { + b.InstallationID = installationID + return b +} + +func (b *_EscalatorBuilder) WithInstallationIDBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.InstallationID.CreateReadablePropertyBuilder()) + var err error + b.InstallationID, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithPowerMode(powerMode OptionalProperty) EscalatorBuilder { + b.PowerMode = powerMode + return b +} + +func (b *_EscalatorBuilder) WithPowerModeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.PowerMode.CreateOptionalPropertyBuilder()) + var err error + b.PowerMode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithOperationDirection(operationDirection ReadableProperty) EscalatorBuilder { + b.OperationDirection = operationDirection + return b +} + +func (b *_EscalatorBuilder) WithOperationDirectionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.OperationDirection.CreateReadablePropertyBuilder()) + var err error + b.OperationDirection, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEscalatorMode(escalatorMode OptionalProperty) EscalatorBuilder { + b.EscalatorMode = escalatorMode + return b +} + +func (b *_EscalatorBuilder) WithEscalatorModeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EscalatorMode.CreateOptionalPropertyBuilder()) + var err error + b.EscalatorMode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEnergyMeter(energyMeter OptionalProperty) EscalatorBuilder { + b.EnergyMeter = energyMeter + return b +} + +func (b *_EscalatorBuilder) WithEnergyMeterBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EnergyMeter.CreateOptionalPropertyBuilder()) + var err error + b.EnergyMeter, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEnergyMeterRef(energyMeterRef OptionalProperty) EscalatorBuilder { + b.EnergyMeterRef = energyMeterRef + return b +} + +func (b *_EscalatorBuilder) WithEnergyMeterRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EnergyMeterRef.CreateOptionalPropertyBuilder()) + var err error + b.EnergyMeterRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithReliability(reliability OptionalProperty) EscalatorBuilder { + b.Reliability = reliability + return b +} + +func (b *_EscalatorBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithOutOfService(outOfService ReadableProperty) EscalatorBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_EscalatorBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithFaultSignals(faultSignals OptionalProperty) EscalatorBuilder { + b.FaultSignals = faultSignals + return b +} + +func (b *_EscalatorBuilder) WithFaultSignalsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.FaultSignals.CreateOptionalPropertyBuilder()) + var err error + b.FaultSignals, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithPassengerAlarm(passengerAlarm ReadableProperty) EscalatorBuilder { + b.PassengerAlarm = passengerAlarm + return b +} + +func (b *_EscalatorBuilder) WithPassengerAlarmBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.PassengerAlarm.CreateReadablePropertyBuilder()) + var err error + b.PassengerAlarm, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithTimeDelay(timeDelay OptionalProperty) EscalatorBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_EscalatorBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) EscalatorBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_EscalatorBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) EscalatorBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_EscalatorBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithNotificationClass(notificationClass OptionalProperty) EscalatorBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_EscalatorBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEventEnable(eventEnable OptionalProperty) EscalatorBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_EscalatorBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEventState(eventState OptionalProperty) EscalatorBuilder { + b.EventState = eventState + return b +} + +func (b *_EscalatorBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) EscalatorBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_EscalatorBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithNotifyType(notifyType OptionalProperty) EscalatorBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_EscalatorBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) EscalatorBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_EscalatorBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) EscalatorBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_EscalatorBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) EscalatorBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_EscalatorBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) EscalatorBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_EscalatorBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) EscalatorBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_EscalatorBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) EscalatorBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_EscalatorBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithPropertyList(propertyList ReadableProperty) EscalatorBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_EscalatorBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithTags(tags OptionalProperty) EscalatorBuilder { + b.Tags = tags + return b +} + +func (b *_EscalatorBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithProfileLocation(profileLocation OptionalProperty) EscalatorBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_EscalatorBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) WithProfileName(profileName OptionalProperty) EscalatorBuilder { + b.ProfileName = profileName + return b +} + +func (b *_EscalatorBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EscalatorBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EscalatorBuilder) Build() (Escalator, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.ElevatorGroup == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'elevatorGroup' not set")) + } + if b.GroupID == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'groupID' not set")) + } + if b.InstallationID == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'installationID' not set")) + } + if b.PowerMode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'powerMode' not set")) + } + if b.OperationDirection == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'operationDirection' not set")) + } + if b.EscalatorMode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'escalatorMode' not set")) + } + if b.EnergyMeter == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'energyMeter' not set")) + } + if b.EnergyMeterRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'energyMeterRef' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.FaultSignals == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultSignals' not set")) + } + if b.PassengerAlarm == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'passengerAlarm' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Escalator.deepCopy(), nil +} + +func (b *_EscalatorBuilder) MustBuild() Escalator { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_EscalatorBuilder) DeepCopy() any { + _copy := b.CreateEscalatorBuilder().(*_EscalatorBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateEscalatorBuilder creates a EscalatorBuilder +func (b *_Escalator) CreateEscalatorBuilder() EscalatorBuilder { + if b == nil { + return NewEscalatorBuilder() + } + return &_EscalatorBuilder{_Escalator: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Escalator) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Escalator) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Escalator) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Escalator) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Escalator) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_Escalator) GetElevatorGroup() ReadableProperty { + return m.ElevatorGroup +} + +func (m *_Escalator) GetGroupID() ReadableProperty { + return m.GroupID +} + +func (m *_Escalator) GetInstallationID() ReadableProperty { + return m.InstallationID +} + +func (m *_Escalator) GetPowerMode() OptionalProperty { + return m.PowerMode +} + +func (m *_Escalator) GetOperationDirection() ReadableProperty { + return m.OperationDirection +} + +func (m *_Escalator) GetEscalatorMode() OptionalProperty { + return m.EscalatorMode +} + +func (m *_Escalator) GetEnergyMeter() OptionalProperty { + return m.EnergyMeter +} + +func (m *_Escalator) GetEnergyMeterRef() OptionalProperty { + return m.EnergyMeterRef +} + +func (m *_Escalator) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_Escalator) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_Escalator) GetFaultSignals() OptionalProperty { + return m.FaultSignals +} + +func (m *_Escalator) GetPassengerAlarm() ReadableProperty { + return m.PassengerAlarm +} + +func (m *_Escalator) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_Escalator) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_Escalator) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Escalator) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Escalator) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Escalator) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_Escalator) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Escalator) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Escalator) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Escalator) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Escalator) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Escalator) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_Escalator) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_Escalator) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Escalator) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Escalator) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Escalator) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Escalator) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastEscalator(structType any) Escalator { + if casted, ok := structType.(Escalator); ok { + return casted + } + if casted, ok := structType.(*Escalator); ok { + return *casted + } + return nil +} + +func (m *_Escalator) GetTypeName() string { + return "Escalator" +} + +func (m *_Escalator) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (elevatorGroup) + lengthInBits += m.ElevatorGroup.GetLengthInBits(ctx) + + // Simple field (groupID) + lengthInBits += m.GroupID.GetLengthInBits(ctx) + + // Simple field (installationID) + lengthInBits += m.InstallationID.GetLengthInBits(ctx) + + // Simple field (powerMode) + lengthInBits += m.PowerMode.GetLengthInBits(ctx) + + // Simple field (operationDirection) + lengthInBits += m.OperationDirection.GetLengthInBits(ctx) + + // Simple field (escalatorMode) + lengthInBits += m.EscalatorMode.GetLengthInBits(ctx) + + // Simple field (energyMeter) + lengthInBits += m.EnergyMeter.GetLengthInBits(ctx) + + // Simple field (energyMeterRef) + lengthInBits += m.EnergyMeterRef.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (faultSignals) + lengthInBits += m.FaultSignals.GetLengthInBits(ctx) + + // Simple field (passengerAlarm) + lengthInBits += m.PassengerAlarm.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Escalator) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func EscalatorParse(ctx context.Context, theBytes []byte) (Escalator, error) { + return EscalatorParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func EscalatorParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Escalator, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Escalator, error) { + return EscalatorParseWithBuffer(ctx, readBuffer) + } +} + +func EscalatorParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Escalator, error) { + v, err := (&_Escalator{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Escalator) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__escalator Escalator, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Escalator"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Escalator") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + elevatorGroup, err := ReadSimpleField[ReadableProperty](ctx, "elevatorGroup", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'elevatorGroup' field")) + } + m.ElevatorGroup = elevatorGroup + + groupID, err := ReadSimpleField[ReadableProperty](ctx, "groupID", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'groupID' field")) + } + m.GroupID = groupID + + installationID, err := ReadSimpleField[ReadableProperty](ctx, "installationID", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'installationID' field")) + } + m.InstallationID = installationID + + powerMode, err := ReadSimpleField[OptionalProperty](ctx, "powerMode", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'powerMode' field")) + } + m.PowerMode = powerMode + + operationDirection, err := ReadSimpleField[ReadableProperty](ctx, "operationDirection", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEscalatorOperationDirection")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'operationDirection' field")) + } + m.OperationDirection = operationDirection + + escalatorMode, err := ReadSimpleField[OptionalProperty](ctx, "escalatorMode", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEscalatorMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'escalatorMode' field")) + } + m.EscalatorMode = escalatorMode + + energyMeter, err := ReadSimpleField[OptionalProperty](ctx, "energyMeter", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'energyMeter' field")) + } + m.EnergyMeter = energyMeter + + energyMeterRef, err := ReadSimpleField[OptionalProperty](ctx, "energyMeterRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'energyMeterRef' field")) + } + m.EnergyMeterRef = energyMeterRef + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + faultSignals, err := ReadSimpleField[OptionalProperty](ctx, "faultSignals", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetEscalatorFault")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultSignals' field")) + } + m.FaultSignals = faultSignals + + passengerAlarm, err := ReadSimpleField[ReadableProperty](ctx, "passengerAlarm", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'passengerAlarm' field")) + } + m.PassengerAlarm = passengerAlarm + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Escalator"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Escalator") + } + + return m, nil +} + +func (m *_Escalator) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Escalator) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Escalator"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Escalator") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "elevatorGroup", m.GetElevatorGroup(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'elevatorGroup' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "groupID", m.GetGroupID(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'groupID' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "installationID", m.GetInstallationID(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'installationID' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "powerMode", m.GetPowerMode(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'powerMode' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "operationDirection", m.GetOperationDirection(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'operationDirection' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "escalatorMode", m.GetEscalatorMode(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'escalatorMode' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "energyMeter", m.GetEnergyMeter(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'energyMeter' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "energyMeterRef", m.GetEnergyMeterRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'energyMeterRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultSignals", m.GetFaultSignals(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultSignals' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "passengerAlarm", m.GetPassengerAlarm(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'passengerAlarm' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Escalator"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Escalator") + } + return nil +} + +func (m *_Escalator) IsEscalator() {} + +func (m *_Escalator) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Escalator) deepCopy() *_Escalator { + if m == nil { + return nil + } + _EscalatorCopy := &_Escalator{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.ElevatorGroup.DeepCopy().(ReadableProperty), + m.GroupID.DeepCopy().(ReadableProperty), + m.InstallationID.DeepCopy().(ReadableProperty), + m.PowerMode.DeepCopy().(OptionalProperty), + m.OperationDirection.DeepCopy().(ReadableProperty), + m.EscalatorMode.DeepCopy().(OptionalProperty), + m.EnergyMeter.DeepCopy().(OptionalProperty), + m.EnergyMeterRef.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.FaultSignals.DeepCopy().(OptionalProperty), + m.PassengerAlarm.DeepCopy().(ReadableProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _EscalatorCopy +} + +func (m *_Escalator) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/EventEnrollment.go b/plc4go/protocols/bacnetip/readwrite/model/EventEnrollment.go new file mode 100644 index 00000000000..5c184f8bef4 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/EventEnrollment.go @@ -0,0 +1,1704 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// EventEnrollment is the corresponding interface of EventEnrollment +type EventEnrollment interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetEventType returns EventType (property field) + GetEventType() ReadableProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() ReadableProperty + // GetEventParameters returns EventParameters (property field) + GetEventParameters() ReadableProperty + // GetObjectPropertyReference returns ObjectPropertyReference (property field) + GetObjectPropertyReference() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() ReadableProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() ReadableProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() ReadableProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() ReadableProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() ReadableProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetFaultType returns FaultType (property field) + GetFaultType() OptionalProperty + // GetFaultParameters returns FaultParameters (property field) + GetFaultParameters() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() ReadableProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsEventEnrollment is a marker method to prevent unintentional type checks (interfaces of same signature) + IsEventEnrollment() + // CreateBuilder creates a EventEnrollmentBuilder + CreateEventEnrollmentBuilder() EventEnrollmentBuilder +} + +// _EventEnrollment is the data-structure of this message +type _EventEnrollment struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + EventType ReadableProperty + NotifyType ReadableProperty + EventParameters ReadableProperty + ObjectPropertyReference ReadableProperty + EventState ReadableProperty + EventEnable ReadableProperty + AckedTransitions ReadableProperty + NotificationClass ReadableProperty + EventTimeStamps ReadableProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable ReadableProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal ReadableProperty + StatusFlags ReadableProperty + Reliability ReadableProperty + FaultType OptionalProperty + FaultParameters OptionalProperty + ReliabilityEvaluationInhibit ReadableProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ EventEnrollment = (*_EventEnrollment)(nil) + +// NewEventEnrollment factory function for _EventEnrollment +func NewEventEnrollment(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, eventType ReadableProperty, notifyType ReadableProperty, eventParameters ReadableProperty, objectPropertyReference ReadableProperty, eventState ReadableProperty, eventEnable ReadableProperty, ackedTransitions ReadableProperty, notificationClass ReadableProperty, eventTimeStamps ReadableProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable ReadableProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal ReadableProperty, statusFlags ReadableProperty, reliability ReadableProperty, faultType OptionalProperty, faultParameters OptionalProperty, reliabilityEvaluationInhibit ReadableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_EventEnrollment { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for EventEnrollment must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for EventEnrollment must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for EventEnrollment must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for EventEnrollment must not be nil") + } + if eventType == nil { + panic("eventType of type ReadableProperty for EventEnrollment must not be nil") + } + if notifyType == nil { + panic("notifyType of type ReadableProperty for EventEnrollment must not be nil") + } + if eventParameters == nil { + panic("eventParameters of type ReadableProperty for EventEnrollment must not be nil") + } + if objectPropertyReference == nil { + panic("objectPropertyReference of type ReadableProperty for EventEnrollment must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for EventEnrollment must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type ReadableProperty for EventEnrollment must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type ReadableProperty for EventEnrollment must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type ReadableProperty for EventEnrollment must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type ReadableProperty for EventEnrollment must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for EventEnrollment must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for EventEnrollment must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type ReadableProperty for EventEnrollment must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for EventEnrollment must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for EventEnrollment must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type ReadableProperty for EventEnrollment must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for EventEnrollment must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for EventEnrollment must not be nil") + } + if faultType == nil { + panic("faultType of type OptionalProperty for EventEnrollment must not be nil") + } + if faultParameters == nil { + panic("faultParameters of type OptionalProperty for EventEnrollment must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type ReadableProperty for EventEnrollment must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for EventEnrollment must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for EventEnrollment must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for EventEnrollment must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for EventEnrollment must not be nil") + } + return &_EventEnrollment{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, EventType: eventType, NotifyType: notifyType, EventParameters: eventParameters, ObjectPropertyReference: objectPropertyReference, EventState: eventState, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotificationClass: notificationClass, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, StatusFlags: statusFlags, Reliability: reliability, FaultType: faultType, FaultParameters: faultParameters, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// EventEnrollmentBuilder is a builder for EventEnrollment +type EventEnrollmentBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, eventType ReadableProperty, notifyType ReadableProperty, eventParameters ReadableProperty, objectPropertyReference ReadableProperty, eventState ReadableProperty, eventEnable ReadableProperty, ackedTransitions ReadableProperty, notificationClass ReadableProperty, eventTimeStamps ReadableProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable ReadableProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal ReadableProperty, statusFlags ReadableProperty, reliability ReadableProperty, faultType OptionalProperty, faultParameters OptionalProperty, reliabilityEvaluationInhibit ReadableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) EventEnrollmentBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) EventEnrollmentBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) EventEnrollmentBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) EventEnrollmentBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) EventEnrollmentBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // WithEventType adds EventType (property field) + WithEventType(ReadableProperty) EventEnrollmentBuilder + // WithEventTypeBuilder adds EventType (property field) which is build by the builder + WithEventTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(ReadableProperty) EventEnrollmentBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithEventParameters adds EventParameters (property field) + WithEventParameters(ReadableProperty) EventEnrollmentBuilder + // WithEventParametersBuilder adds EventParameters (property field) which is build by the builder + WithEventParametersBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithObjectPropertyReference adds ObjectPropertyReference (property field) + WithObjectPropertyReference(ReadableProperty) EventEnrollmentBuilder + // WithObjectPropertyReferenceBuilder adds ObjectPropertyReference (property field) which is build by the builder + WithObjectPropertyReferenceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) EventEnrollmentBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(ReadableProperty) EventEnrollmentBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(ReadableProperty) EventEnrollmentBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(ReadableProperty) EventEnrollmentBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(ReadableProperty) EventEnrollmentBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) EventEnrollmentBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) EventEnrollmentBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(ReadableProperty) EventEnrollmentBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) EventEnrollmentBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) EventEnrollmentBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(ReadableProperty) EventEnrollmentBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) EventEnrollmentBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) EventEnrollmentBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithFaultType adds FaultType (property field) + WithFaultType(OptionalProperty) EventEnrollmentBuilder + // WithFaultTypeBuilder adds FaultType (property field) which is build by the builder + WithFaultTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // WithFaultParameters adds FaultParameters (property field) + WithFaultParameters(OptionalProperty) EventEnrollmentBuilder + // WithFaultParametersBuilder adds FaultParameters (property field) which is build by the builder + WithFaultParametersBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(ReadableProperty) EventEnrollmentBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) EventEnrollmentBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) EventEnrollmentBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) EventEnrollmentBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) EventEnrollmentBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder + // Build builds the EventEnrollment or returns an error if something is wrong + Build() (EventEnrollment, error) + // MustBuild does the same as Build but panics on error + MustBuild() EventEnrollment +} + +// NewEventEnrollmentBuilder() creates a EventEnrollmentBuilder +func NewEventEnrollmentBuilder() EventEnrollmentBuilder { + return &_EventEnrollmentBuilder{_EventEnrollment: new(_EventEnrollment)} +} + +type _EventEnrollmentBuilder struct { + *_EventEnrollment + + err *utils.MultiError +} + +var _ (EventEnrollmentBuilder) = (*_EventEnrollmentBuilder)(nil) + +func (b *_EventEnrollmentBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, eventType ReadableProperty, notifyType ReadableProperty, eventParameters ReadableProperty, objectPropertyReference ReadableProperty, eventState ReadableProperty, eventEnable ReadableProperty, ackedTransitions ReadableProperty, notificationClass ReadableProperty, eventTimeStamps ReadableProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable ReadableProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal ReadableProperty, statusFlags ReadableProperty, reliability ReadableProperty, faultType OptionalProperty, faultParameters OptionalProperty, reliabilityEvaluationInhibit ReadableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) EventEnrollmentBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithEventType(eventType).WithNotifyType(notifyType).WithEventParameters(eventParameters).WithObjectPropertyReference(objectPropertyReference).WithEventState(eventState).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotificationClass(notificationClass).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithStatusFlags(statusFlags).WithReliability(reliability).WithFaultType(faultType).WithFaultParameters(faultParameters).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_EventEnrollmentBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) EventEnrollmentBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_EventEnrollmentBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithObjectName(objectName ReadableProperty) EventEnrollmentBuilder { + b.ObjectName = objectName + return b +} + +func (b *_EventEnrollmentBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithObjectType(objectType ReadableProperty) EventEnrollmentBuilder { + b.ObjectType = objectType + return b +} + +func (b *_EventEnrollmentBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithDescription(description OptionalProperty) EventEnrollmentBuilder { + b.Description = description + return b +} + +func (b *_EventEnrollmentBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventType(eventType ReadableProperty) EventEnrollmentBuilder { + b.EventType = eventType + return b +} + +func (b *_EventEnrollmentBuilder) WithEventTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventType.CreateReadablePropertyBuilder()) + var err error + b.EventType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithNotifyType(notifyType ReadableProperty) EventEnrollmentBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_EventEnrollmentBuilder) WithNotifyTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.NotifyType.CreateReadablePropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventParameters(eventParameters ReadableProperty) EventEnrollmentBuilder { + b.EventParameters = eventParameters + return b +} + +func (b *_EventEnrollmentBuilder) WithEventParametersBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventParameters.CreateReadablePropertyBuilder()) + var err error + b.EventParameters, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithObjectPropertyReference(objectPropertyReference ReadableProperty) EventEnrollmentBuilder { + b.ObjectPropertyReference = objectPropertyReference + return b +} + +func (b *_EventEnrollmentBuilder) WithObjectPropertyReferenceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.ObjectPropertyReference.CreateReadablePropertyBuilder()) + var err error + b.ObjectPropertyReference, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventState(eventState ReadableProperty) EventEnrollmentBuilder { + b.EventState = eventState + return b +} + +func (b *_EventEnrollmentBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventEnable(eventEnable ReadableProperty) EventEnrollmentBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_EventEnrollmentBuilder) WithEventEnableBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventEnable.CreateReadablePropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithAckedTransitions(ackedTransitions ReadableProperty) EventEnrollmentBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_EventEnrollmentBuilder) WithAckedTransitionsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.AckedTransitions.CreateReadablePropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithNotificationClass(notificationClass ReadableProperty) EventEnrollmentBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_EventEnrollmentBuilder) WithNotificationClassBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.NotificationClass.CreateReadablePropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventTimeStamps(eventTimeStamps ReadableProperty) EventEnrollmentBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_EventEnrollmentBuilder) WithEventTimeStampsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateReadablePropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) EventEnrollmentBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_EventEnrollmentBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) EventEnrollmentBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_EventEnrollmentBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventDetectionEnable(eventDetectionEnable ReadableProperty) EventEnrollmentBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_EventEnrollmentBuilder) WithEventDetectionEnableBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateReadablePropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) EventEnrollmentBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_EventEnrollmentBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) EventEnrollmentBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_EventEnrollmentBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithTimeDelayNormal(timeDelayNormal ReadableProperty) EventEnrollmentBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_EventEnrollmentBuilder) WithTimeDelayNormalBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateReadablePropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithStatusFlags(statusFlags ReadableProperty) EventEnrollmentBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_EventEnrollmentBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithReliability(reliability ReadableProperty) EventEnrollmentBuilder { + b.Reliability = reliability + return b +} + +func (b *_EventEnrollmentBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithFaultType(faultType OptionalProperty) EventEnrollmentBuilder { + b.FaultType = faultType + return b +} + +func (b *_EventEnrollmentBuilder) WithFaultTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.FaultType.CreateOptionalPropertyBuilder()) + var err error + b.FaultType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithFaultParameters(faultParameters OptionalProperty) EventEnrollmentBuilder { + b.FaultParameters = faultParameters + return b +} + +func (b *_EventEnrollmentBuilder) WithFaultParametersBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.FaultParameters.CreateOptionalPropertyBuilder()) + var err error + b.FaultParameters, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit ReadableProperty) EventEnrollmentBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_EventEnrollmentBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateReadablePropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithPropertyList(propertyList ReadableProperty) EventEnrollmentBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_EventEnrollmentBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithTags(tags OptionalProperty) EventEnrollmentBuilder { + b.Tags = tags + return b +} + +func (b *_EventEnrollmentBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithProfileLocation(profileLocation OptionalProperty) EventEnrollmentBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_EventEnrollmentBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) WithProfileName(profileName OptionalProperty) EventEnrollmentBuilder { + b.ProfileName = profileName + return b +} + +func (b *_EventEnrollmentBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventEnrollmentBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventEnrollmentBuilder) Build() (EventEnrollment, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.EventType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventType' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventParameters == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventParameters' not set")) + } + if b.ObjectPropertyReference == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectPropertyReference' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.FaultType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultType' not set")) + } + if b.FaultParameters == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultParameters' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._EventEnrollment.deepCopy(), nil +} + +func (b *_EventEnrollmentBuilder) MustBuild() EventEnrollment { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_EventEnrollmentBuilder) DeepCopy() any { + _copy := b.CreateEventEnrollmentBuilder().(*_EventEnrollmentBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateEventEnrollmentBuilder creates a EventEnrollmentBuilder +func (b *_EventEnrollment) CreateEventEnrollmentBuilder() EventEnrollmentBuilder { + if b == nil { + return NewEventEnrollmentBuilder() + } + return &_EventEnrollmentBuilder{_EventEnrollment: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_EventEnrollment) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_EventEnrollment) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_EventEnrollment) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_EventEnrollment) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_EventEnrollment) GetEventType() ReadableProperty { + return m.EventType +} + +func (m *_EventEnrollment) GetNotifyType() ReadableProperty { + return m.NotifyType +} + +func (m *_EventEnrollment) GetEventParameters() ReadableProperty { + return m.EventParameters +} + +func (m *_EventEnrollment) GetObjectPropertyReference() ReadableProperty { + return m.ObjectPropertyReference +} + +func (m *_EventEnrollment) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_EventEnrollment) GetEventEnable() ReadableProperty { + return m.EventEnable +} + +func (m *_EventEnrollment) GetAckedTransitions() ReadableProperty { + return m.AckedTransitions +} + +func (m *_EventEnrollment) GetNotificationClass() ReadableProperty { + return m.NotificationClass +} + +func (m *_EventEnrollment) GetEventTimeStamps() ReadableProperty { + return m.EventTimeStamps +} + +func (m *_EventEnrollment) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_EventEnrollment) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_EventEnrollment) GetEventDetectionEnable() ReadableProperty { + return m.EventDetectionEnable +} + +func (m *_EventEnrollment) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_EventEnrollment) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_EventEnrollment) GetTimeDelayNormal() ReadableProperty { + return m.TimeDelayNormal +} + +func (m *_EventEnrollment) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_EventEnrollment) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_EventEnrollment) GetFaultType() OptionalProperty { + return m.FaultType +} + +func (m *_EventEnrollment) GetFaultParameters() OptionalProperty { + return m.FaultParameters +} + +func (m *_EventEnrollment) GetReliabilityEvaluationInhibit() ReadableProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_EventEnrollment) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_EventEnrollment) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_EventEnrollment) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_EventEnrollment) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastEventEnrollment(structType any) EventEnrollment { + if casted, ok := structType.(EventEnrollment); ok { + return casted + } + if casted, ok := structType.(*EventEnrollment); ok { + return *casted + } + return nil +} + +func (m *_EventEnrollment) GetTypeName() string { + return "EventEnrollment" +} + +func (m *_EventEnrollment) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (eventType) + lengthInBits += m.EventType.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventParameters) + lengthInBits += m.EventParameters.GetLengthInBits(ctx) + + // Simple field (objectPropertyReference) + lengthInBits += m.ObjectPropertyReference.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (faultType) + lengthInBits += m.FaultType.GetLengthInBits(ctx) + + // Simple field (faultParameters) + lengthInBits += m.FaultParameters.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_EventEnrollment) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func EventEnrollmentParse(ctx context.Context, theBytes []byte) (EventEnrollment, error) { + return EventEnrollmentParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func EventEnrollmentParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (EventEnrollment, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (EventEnrollment, error) { + return EventEnrollmentParseWithBuffer(ctx, readBuffer) + } +} + +func EventEnrollmentParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (EventEnrollment, error) { + v, err := (&_EventEnrollment{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_EventEnrollment) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__eventEnrollment EventEnrollment, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("EventEnrollment"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for EventEnrollment") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + eventType, err := ReadSimpleField[ReadableProperty](ctx, "eventType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventType' field")) + } + m.EventType = eventType + + notifyType, err := ReadSimpleField[ReadableProperty](ctx, "notifyType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventParameters, err := ReadSimpleField[ReadableProperty](ctx, "eventParameters", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventParameter")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventParameters' field")) + } + m.EventParameters = eventParameters + + objectPropertyReference, err := ReadSimpleField[ReadableProperty](ctx, "objectPropertyReference", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDeviceObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectPropertyReference' field")) + } + m.ObjectPropertyReference = objectPropertyReference + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + eventEnable, err := ReadSimpleField[ReadableProperty](ctx, "eventEnable", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[ReadableProperty](ctx, "ackedTransitions", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notificationClass, err := ReadSimpleField[ReadableProperty](ctx, "notificationClass", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventTimeStamps, err := ReadSimpleField[ReadableProperty](ctx, "eventTimeStamps", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[ReadableProperty](ctx, "eventDetectionEnable", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[ReadableProperty](ctx, "timeDelayNormal", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + faultType, err := ReadSimpleField[OptionalProperty](ctx, "faultType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetFaultType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultType' field")) + } + m.FaultType = faultType + + faultParameters, err := ReadSimpleField[OptionalProperty](ctx, "faultParameters", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetFaultParameter")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultParameters' field")) + } + m.FaultParameters = faultParameters + + reliabilityEvaluationInhibit, err := ReadSimpleField[ReadableProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("EventEnrollment"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for EventEnrollment") + } + + return m, nil +} + +func (m *_EventEnrollment) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_EventEnrollment) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("EventEnrollment"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for EventEnrollment") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventType", m.GetEventType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventParameters", m.GetEventParameters(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventParameters' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectPropertyReference", m.GetObjectPropertyReference(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectPropertyReference' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultType", m.GetFaultType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultParameters", m.GetFaultParameters(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultParameters' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("EventEnrollment"); popErr != nil { + return errors.Wrap(popErr, "Error popping for EventEnrollment") + } + return nil +} + +func (m *_EventEnrollment) IsEventEnrollment() {} + +func (m *_EventEnrollment) DeepCopy() any { + return m.deepCopy() +} + +func (m *_EventEnrollment) deepCopy() *_EventEnrollment { + if m == nil { + return nil + } + _EventEnrollmentCopy := &_EventEnrollment{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.EventType.DeepCopy().(ReadableProperty), + m.NotifyType.DeepCopy().(ReadableProperty), + m.EventParameters.DeepCopy().(ReadableProperty), + m.ObjectPropertyReference.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.EventEnable.DeepCopy().(ReadableProperty), + m.AckedTransitions.DeepCopy().(ReadableProperty), + m.NotificationClass.DeepCopy().(ReadableProperty), + m.EventTimeStamps.DeepCopy().(ReadableProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(ReadableProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.FaultType.DeepCopy().(OptionalProperty), + m.FaultParameters.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(ReadableProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _EventEnrollmentCopy +} + +func (m *_EventEnrollment) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/EventLog.go b/plc4go/protocols/bacnetip/readwrite/model/EventLog.go new file mode 100644 index 00000000000..735fbb1daf0 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/EventLog.go @@ -0,0 +1,1964 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// EventLog is the corresponding interface of EventLog +type EventLog interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetEnable returns Enable (property field) + GetEnable() WritableProperty + // GetStartTime returns StartTime (property field) + GetStartTime() OptionalProperty + // GetStopTime returns StopTime (property field) + GetStopTime() OptionalProperty + // GetStopWhenFull returns StopWhenFull (property field) + GetStopWhenFull() ReadableProperty + // GetBufferSize returns BufferSize (property field) + GetBufferSize() ReadableProperty + // GetLogBuffer returns LogBuffer (property field) + GetLogBuffer() ReadableProperty + // GetRecordCount returns RecordCount (property field) + GetRecordCount() WritableProperty + // GetTotalRecordCount returns TotalRecordCount (property field) + GetTotalRecordCount() ReadableProperty + // GetNotificationThreshold returns NotificationThreshold (property field) + GetNotificationThreshold() OptionalProperty + // GetRecordsSinceNotification returns RecordsSinceNotification (property field) + GetRecordsSinceNotification() OptionalProperty + // GetLastNotifyRecord returns LastNotifyRecord (property field) + GetLastNotifyRecord() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsEventLog is a marker method to prevent unintentional type checks (interfaces of same signature) + IsEventLog() + // CreateBuilder creates a EventLogBuilder + CreateEventLogBuilder() EventLogBuilder +} + +// _EventLog is the data-structure of this message +type _EventLog struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PropertyList ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + Enable WritableProperty + StartTime OptionalProperty + StopTime OptionalProperty + StopWhenFull ReadableProperty + BufferSize ReadableProperty + LogBuffer ReadableProperty + RecordCount WritableProperty + TotalRecordCount ReadableProperty + NotificationThreshold OptionalProperty + RecordsSinceNotification OptionalProperty + LastNotifyRecord OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ EventLog = (*_EventLog)(nil) + +// NewEventLog factory function for _EventLog +func NewEventLog(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, propertyList ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, enable WritableProperty, startTime OptionalProperty, stopTime OptionalProperty, stopWhenFull ReadableProperty, bufferSize ReadableProperty, logBuffer ReadableProperty, recordCount WritableProperty, totalRecordCount ReadableProperty, notificationThreshold OptionalProperty, recordsSinceNotification OptionalProperty, lastNotifyRecord OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_EventLog { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for EventLog must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for EventLog must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for EventLog must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for EventLog must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for EventLog must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for EventLog must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for EventLog must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for EventLog must not be nil") + } + if enable == nil { + panic("enable of type WritableProperty for EventLog must not be nil") + } + if startTime == nil { + panic("startTime of type OptionalProperty for EventLog must not be nil") + } + if stopTime == nil { + panic("stopTime of type OptionalProperty for EventLog must not be nil") + } + if stopWhenFull == nil { + panic("stopWhenFull of type ReadableProperty for EventLog must not be nil") + } + if bufferSize == nil { + panic("bufferSize of type ReadableProperty for EventLog must not be nil") + } + if logBuffer == nil { + panic("logBuffer of type ReadableProperty for EventLog must not be nil") + } + if recordCount == nil { + panic("recordCount of type WritableProperty for EventLog must not be nil") + } + if totalRecordCount == nil { + panic("totalRecordCount of type ReadableProperty for EventLog must not be nil") + } + if notificationThreshold == nil { + panic("notificationThreshold of type OptionalProperty for EventLog must not be nil") + } + if recordsSinceNotification == nil { + panic("recordsSinceNotification of type OptionalProperty for EventLog must not be nil") + } + if lastNotifyRecord == nil { + panic("lastNotifyRecord of type OptionalProperty for EventLog must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for EventLog must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for EventLog must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for EventLog must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for EventLog must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for EventLog must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for EventLog must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for EventLog must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for EventLog must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for EventLog must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for EventLog must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for EventLog must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for EventLog must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for EventLog must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for EventLog must not be nil") + } + return &_EventLog{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PropertyList: propertyList, Description: description, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, Enable: enable, StartTime: startTime, StopTime: stopTime, StopWhenFull: stopWhenFull, BufferSize: bufferSize, LogBuffer: logBuffer, RecordCount: recordCount, TotalRecordCount: totalRecordCount, NotificationThreshold: notificationThreshold, RecordsSinceNotification: recordsSinceNotification, LastNotifyRecord: lastNotifyRecord, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// EventLogBuilder is a builder for EventLog +type EventLogBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, propertyList ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, enable WritableProperty, startTime OptionalProperty, stopTime OptionalProperty, stopWhenFull ReadableProperty, bufferSize ReadableProperty, logBuffer ReadableProperty, recordCount WritableProperty, totalRecordCount ReadableProperty, notificationThreshold OptionalProperty, recordsSinceNotification OptionalProperty, lastNotifyRecord OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) EventLogBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) EventLogBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) EventLogBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) EventLogBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) EventLogBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) EventLogBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) EventLogBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) EventLogBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) EventLogBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithEnable adds Enable (property field) + WithEnable(WritableProperty) EventLogBuilder + // WithEnableBuilder adds Enable (property field) which is build by the builder + WithEnableBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) EventLogBuilder + // WithStartTime adds StartTime (property field) + WithStartTime(OptionalProperty) EventLogBuilder + // WithStartTimeBuilder adds StartTime (property field) which is build by the builder + WithStartTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithStopTime adds StopTime (property field) + WithStopTime(OptionalProperty) EventLogBuilder + // WithStopTimeBuilder adds StopTime (property field) which is build by the builder + WithStopTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithStopWhenFull adds StopWhenFull (property field) + WithStopWhenFull(ReadableProperty) EventLogBuilder + // WithStopWhenFullBuilder adds StopWhenFull (property field) which is build by the builder + WithStopWhenFullBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithBufferSize adds BufferSize (property field) + WithBufferSize(ReadableProperty) EventLogBuilder + // WithBufferSizeBuilder adds BufferSize (property field) which is build by the builder + WithBufferSizeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithLogBuffer adds LogBuffer (property field) + WithLogBuffer(ReadableProperty) EventLogBuilder + // WithLogBufferBuilder adds LogBuffer (property field) which is build by the builder + WithLogBufferBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithRecordCount adds RecordCount (property field) + WithRecordCount(WritableProperty) EventLogBuilder + // WithRecordCountBuilder adds RecordCount (property field) which is build by the builder + WithRecordCountBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) EventLogBuilder + // WithTotalRecordCount adds TotalRecordCount (property field) + WithTotalRecordCount(ReadableProperty) EventLogBuilder + // WithTotalRecordCountBuilder adds TotalRecordCount (property field) which is build by the builder + WithTotalRecordCountBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder + // WithNotificationThreshold adds NotificationThreshold (property field) + WithNotificationThreshold(OptionalProperty) EventLogBuilder + // WithNotificationThresholdBuilder adds NotificationThreshold (property field) which is build by the builder + WithNotificationThresholdBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithRecordsSinceNotification adds RecordsSinceNotification (property field) + WithRecordsSinceNotification(OptionalProperty) EventLogBuilder + // WithRecordsSinceNotificationBuilder adds RecordsSinceNotification (property field) which is build by the builder + WithRecordsSinceNotificationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithLastNotifyRecord adds LastNotifyRecord (property field) + WithLastNotifyRecord(OptionalProperty) EventLogBuilder + // WithLastNotifyRecordBuilder adds LastNotifyRecord (property field) which is build by the builder + WithLastNotifyRecordBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) EventLogBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) EventLogBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) EventLogBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) EventLogBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) EventLogBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) EventLogBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) EventLogBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) EventLogBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) EventLogBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) EventLogBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) EventLogBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) EventLogBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) EventLogBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) EventLogBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder + // Build builds the EventLog or returns an error if something is wrong + Build() (EventLog, error) + // MustBuild does the same as Build but panics on error + MustBuild() EventLog +} + +// NewEventLogBuilder() creates a EventLogBuilder +func NewEventLogBuilder() EventLogBuilder { + return &_EventLogBuilder{_EventLog: new(_EventLog)} +} + +type _EventLogBuilder struct { + *_EventLog + + err *utils.MultiError +} + +var _ (EventLogBuilder) = (*_EventLogBuilder)(nil) + +func (b *_EventLogBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, propertyList ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, enable WritableProperty, startTime OptionalProperty, stopTime OptionalProperty, stopWhenFull ReadableProperty, bufferSize ReadableProperty, logBuffer ReadableProperty, recordCount WritableProperty, totalRecordCount ReadableProperty, notificationThreshold OptionalProperty, recordsSinceNotification OptionalProperty, lastNotifyRecord OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) EventLogBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPropertyList(propertyList).WithDescription(description).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithEnable(enable).WithStartTime(startTime).WithStopTime(stopTime).WithStopWhenFull(stopWhenFull).WithBufferSize(bufferSize).WithLogBuffer(logBuffer).WithRecordCount(recordCount).WithTotalRecordCount(totalRecordCount).WithNotificationThreshold(notificationThreshold).WithRecordsSinceNotification(recordsSinceNotification).WithLastNotifyRecord(lastNotifyRecord).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_EventLogBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) EventLogBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_EventLogBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithObjectName(objectName ReadableProperty) EventLogBuilder { + b.ObjectName = objectName + return b +} + +func (b *_EventLogBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithObjectType(objectType ReadableProperty) EventLogBuilder { + b.ObjectType = objectType + return b +} + +func (b *_EventLogBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithPropertyList(propertyList ReadableProperty) EventLogBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_EventLogBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithDescription(description OptionalProperty) EventLogBuilder { + b.Description = description + return b +} + +func (b *_EventLogBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithStatusFlags(statusFlags ReadableProperty) EventLogBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_EventLogBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithEventState(eventState ReadableProperty) EventLogBuilder { + b.EventState = eventState + return b +} + +func (b *_EventLogBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithReliability(reliability OptionalProperty) EventLogBuilder { + b.Reliability = reliability + return b +} + +func (b *_EventLogBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithEnable(enable WritableProperty) EventLogBuilder { + b.Enable = enable + return b +} + +func (b *_EventLogBuilder) WithEnableBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.Enable.CreateWritablePropertyBuilder()) + var err error + b.Enable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithStartTime(startTime OptionalProperty) EventLogBuilder { + b.StartTime = startTime + return b +} + +func (b *_EventLogBuilder) WithStartTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.StartTime.CreateOptionalPropertyBuilder()) + var err error + b.StartTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithStopTime(stopTime OptionalProperty) EventLogBuilder { + b.StopTime = stopTime + return b +} + +func (b *_EventLogBuilder) WithStopTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.StopTime.CreateOptionalPropertyBuilder()) + var err error + b.StopTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithStopWhenFull(stopWhenFull ReadableProperty) EventLogBuilder { + b.StopWhenFull = stopWhenFull + return b +} + +func (b *_EventLogBuilder) WithStopWhenFullBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.StopWhenFull.CreateReadablePropertyBuilder()) + var err error + b.StopWhenFull, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithBufferSize(bufferSize ReadableProperty) EventLogBuilder { + b.BufferSize = bufferSize + return b +} + +func (b *_EventLogBuilder) WithBufferSizeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.BufferSize.CreateReadablePropertyBuilder()) + var err error + b.BufferSize, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithLogBuffer(logBuffer ReadableProperty) EventLogBuilder { + b.LogBuffer = logBuffer + return b +} + +func (b *_EventLogBuilder) WithLogBufferBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.LogBuffer.CreateReadablePropertyBuilder()) + var err error + b.LogBuffer, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithRecordCount(recordCount WritableProperty) EventLogBuilder { + b.RecordCount = recordCount + return b +} + +func (b *_EventLogBuilder) WithRecordCountBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.RecordCount.CreateWritablePropertyBuilder()) + var err error + b.RecordCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithTotalRecordCount(totalRecordCount ReadableProperty) EventLogBuilder { + b.TotalRecordCount = totalRecordCount + return b +} + +func (b *_EventLogBuilder) WithTotalRecordCountBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.TotalRecordCount.CreateReadablePropertyBuilder()) + var err error + b.TotalRecordCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithNotificationThreshold(notificationThreshold OptionalProperty) EventLogBuilder { + b.NotificationThreshold = notificationThreshold + return b +} + +func (b *_EventLogBuilder) WithNotificationThresholdBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.NotificationThreshold.CreateOptionalPropertyBuilder()) + var err error + b.NotificationThreshold, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithRecordsSinceNotification(recordsSinceNotification OptionalProperty) EventLogBuilder { + b.RecordsSinceNotification = recordsSinceNotification + return b +} + +func (b *_EventLogBuilder) WithRecordsSinceNotificationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.RecordsSinceNotification.CreateOptionalPropertyBuilder()) + var err error + b.RecordsSinceNotification, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithLastNotifyRecord(lastNotifyRecord OptionalProperty) EventLogBuilder { + b.LastNotifyRecord = lastNotifyRecord + return b +} + +func (b *_EventLogBuilder) WithLastNotifyRecordBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.LastNotifyRecord.CreateOptionalPropertyBuilder()) + var err error + b.LastNotifyRecord, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithNotificationClass(notificationClass OptionalProperty) EventLogBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_EventLogBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithEventEnable(eventEnable OptionalProperty) EventLogBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_EventLogBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) EventLogBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_EventLogBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithNotifyType(notifyType OptionalProperty) EventLogBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_EventLogBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) EventLogBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_EventLogBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) EventLogBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_EventLogBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) EventLogBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_EventLogBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) EventLogBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_EventLogBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) EventLogBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_EventLogBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) EventLogBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_EventLogBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) EventLogBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_EventLogBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithTags(tags OptionalProperty) EventLogBuilder { + b.Tags = tags + return b +} + +func (b *_EventLogBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithProfileLocation(profileLocation OptionalProperty) EventLogBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_EventLogBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) WithProfileName(profileName OptionalProperty) EventLogBuilder { + b.ProfileName = profileName + return b +} + +func (b *_EventLogBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) EventLogBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_EventLogBuilder) Build() (EventLog, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.Enable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'enable' not set")) + } + if b.StartTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'startTime' not set")) + } + if b.StopTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stopTime' not set")) + } + if b.StopWhenFull == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stopWhenFull' not set")) + } + if b.BufferSize == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bufferSize' not set")) + } + if b.LogBuffer == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'logBuffer' not set")) + } + if b.RecordCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'recordCount' not set")) + } + if b.TotalRecordCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'totalRecordCount' not set")) + } + if b.NotificationThreshold == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationThreshold' not set")) + } + if b.RecordsSinceNotification == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'recordsSinceNotification' not set")) + } + if b.LastNotifyRecord == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastNotifyRecord' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._EventLog.deepCopy(), nil +} + +func (b *_EventLogBuilder) MustBuild() EventLog { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_EventLogBuilder) DeepCopy() any { + _copy := b.CreateEventLogBuilder().(*_EventLogBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateEventLogBuilder creates a EventLogBuilder +func (b *_EventLog) CreateEventLogBuilder() EventLogBuilder { + if b == nil { + return NewEventLogBuilder() + } + return &_EventLogBuilder{_EventLog: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_EventLog) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_EventLog) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_EventLog) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_EventLog) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_EventLog) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_EventLog) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_EventLog) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_EventLog) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_EventLog) GetEnable() WritableProperty { + return m.Enable +} + +func (m *_EventLog) GetStartTime() OptionalProperty { + return m.StartTime +} + +func (m *_EventLog) GetStopTime() OptionalProperty { + return m.StopTime +} + +func (m *_EventLog) GetStopWhenFull() ReadableProperty { + return m.StopWhenFull +} + +func (m *_EventLog) GetBufferSize() ReadableProperty { + return m.BufferSize +} + +func (m *_EventLog) GetLogBuffer() ReadableProperty { + return m.LogBuffer +} + +func (m *_EventLog) GetRecordCount() WritableProperty { + return m.RecordCount +} + +func (m *_EventLog) GetTotalRecordCount() ReadableProperty { + return m.TotalRecordCount +} + +func (m *_EventLog) GetNotificationThreshold() OptionalProperty { + return m.NotificationThreshold +} + +func (m *_EventLog) GetRecordsSinceNotification() OptionalProperty { + return m.RecordsSinceNotification +} + +func (m *_EventLog) GetLastNotifyRecord() OptionalProperty { + return m.LastNotifyRecord +} + +func (m *_EventLog) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_EventLog) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_EventLog) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_EventLog) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_EventLog) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_EventLog) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_EventLog) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_EventLog) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_EventLog) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_EventLog) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_EventLog) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_EventLog) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_EventLog) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_EventLog) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastEventLog(structType any) EventLog { + if casted, ok := structType.(EventLog); ok { + return casted + } + if casted, ok := structType.(*EventLog); ok { + return *casted + } + return nil +} + +func (m *_EventLog) GetTypeName() string { + return "EventLog" +} + +func (m *_EventLog) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (enable) + lengthInBits += m.Enable.GetLengthInBits(ctx) + + // Simple field (startTime) + lengthInBits += m.StartTime.GetLengthInBits(ctx) + + // Simple field (stopTime) + lengthInBits += m.StopTime.GetLengthInBits(ctx) + + // Simple field (stopWhenFull) + lengthInBits += m.StopWhenFull.GetLengthInBits(ctx) + + // Simple field (bufferSize) + lengthInBits += m.BufferSize.GetLengthInBits(ctx) + + // Simple field (logBuffer) + lengthInBits += m.LogBuffer.GetLengthInBits(ctx) + + // Simple field (recordCount) + lengthInBits += m.RecordCount.GetLengthInBits(ctx) + + // Simple field (totalRecordCount) + lengthInBits += m.TotalRecordCount.GetLengthInBits(ctx) + + // Simple field (notificationThreshold) + lengthInBits += m.NotificationThreshold.GetLengthInBits(ctx) + + // Simple field (recordsSinceNotification) + lengthInBits += m.RecordsSinceNotification.GetLengthInBits(ctx) + + // Simple field (lastNotifyRecord) + lengthInBits += m.LastNotifyRecord.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_EventLog) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func EventLogParse(ctx context.Context, theBytes []byte) (EventLog, error) { + return EventLogParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func EventLogParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (EventLog, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (EventLog, error) { + return EventLogParseWithBuffer(ctx, readBuffer) + } +} + +func EventLogParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (EventLog, error) { + v, err := (&_EventLog{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_EventLog) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__eventLog EventLog, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("EventLog"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for EventLog") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + enable, err := ReadSimpleField[WritableProperty](ctx, "enable", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'enable' field")) + } + m.Enable = enable + + startTime, err := ReadSimpleField[OptionalProperty](ctx, "startTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'startTime' field")) + } + m.StartTime = startTime + + stopTime, err := ReadSimpleField[OptionalProperty](ctx, "stopTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stopTime' field")) + } + m.StopTime = stopTime + + stopWhenFull, err := ReadSimpleField[ReadableProperty](ctx, "stopWhenFull", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stopWhenFull' field")) + } + m.StopWhenFull = stopWhenFull + + bufferSize, err := ReadSimpleField[ReadableProperty](ctx, "bufferSize", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bufferSize' field")) + } + m.BufferSize = bufferSize + + logBuffer, err := ReadSimpleField[ReadableProperty](ctx, "logBuffer", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetEventLogRecord")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'logBuffer' field")) + } + m.LogBuffer = logBuffer + + recordCount, err := ReadSimpleField[WritableProperty](ctx, "recordCount", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'recordCount' field")) + } + m.RecordCount = recordCount + + totalRecordCount, err := ReadSimpleField[ReadableProperty](ctx, "totalRecordCount", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'totalRecordCount' field")) + } + m.TotalRecordCount = totalRecordCount + + notificationThreshold, err := ReadSimpleField[OptionalProperty](ctx, "notificationThreshold", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationThreshold' field")) + } + m.NotificationThreshold = notificationThreshold + + recordsSinceNotification, err := ReadSimpleField[OptionalProperty](ctx, "recordsSinceNotification", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'recordsSinceNotification' field")) + } + m.RecordsSinceNotification = recordsSinceNotification + + lastNotifyRecord, err := ReadSimpleField[OptionalProperty](ctx, "lastNotifyRecord", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastNotifyRecord' field")) + } + m.LastNotifyRecord = lastNotifyRecord + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("EventLog"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for EventLog") + } + + return m, nil +} + +func (m *_EventLog) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_EventLog) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("EventLog"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for EventLog") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "enable", m.GetEnable(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'enable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "startTime", m.GetStartTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'startTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "stopTime", m.GetStopTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stopTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "stopWhenFull", m.GetStopWhenFull(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stopWhenFull' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "bufferSize", m.GetBufferSize(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bufferSize' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "logBuffer", m.GetLogBuffer(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'logBuffer' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "recordCount", m.GetRecordCount(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'recordCount' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "totalRecordCount", m.GetTotalRecordCount(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'totalRecordCount' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationThreshold", m.GetNotificationThreshold(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationThreshold' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "recordsSinceNotification", m.GetRecordsSinceNotification(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'recordsSinceNotification' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastNotifyRecord", m.GetLastNotifyRecord(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastNotifyRecord' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("EventLog"); popErr != nil { + return errors.Wrap(popErr, "Error popping for EventLog") + } + return nil +} + +func (m *_EventLog) IsEventLog() {} + +func (m *_EventLog) DeepCopy() any { + return m.deepCopy() +} + +func (m *_EventLog) deepCopy() *_EventLog { + if m == nil { + return nil + } + _EventLogCopy := &_EventLog{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.Enable.DeepCopy().(WritableProperty), + m.StartTime.DeepCopy().(OptionalProperty), + m.StopTime.DeepCopy().(OptionalProperty), + m.StopWhenFull.DeepCopy().(ReadableProperty), + m.BufferSize.DeepCopy().(ReadableProperty), + m.LogBuffer.DeepCopy().(ReadableProperty), + m.RecordCount.DeepCopy().(WritableProperty), + m.TotalRecordCount.DeepCopy().(ReadableProperty), + m.NotificationThreshold.DeepCopy().(OptionalProperty), + m.RecordsSinceNotification.DeepCopy().(OptionalProperty), + m.LastNotifyRecord.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _EventLogCopy +} + +func (m *_EventLog) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/File.go b/plc4go/protocols/bacnetip/readwrite/model/File.go new file mode 100644 index 00000000000..59e2c48e8f4 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/File.go @@ -0,0 +1,1028 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// File is the corresponding interface of File +type File interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetFileType returns FileType (property field) + GetFileType() ReadableProperty + // GetFileSize returns FileSize (property field) + GetFileSize() ReadableProperty + // GetModificationDate returns ModificationDate (property field) + GetModificationDate() ReadableProperty + // GetArchive returns Archive (property field) + GetArchive() WritableProperty + // GetReadOnly returns ReadOnly (property field) + GetReadOnly() ReadableProperty + // GetFileAccessMethod returns FileAccessMethod (property field) + GetFileAccessMethod() ReadableProperty + // GetRecordCount returns RecordCount (property field) + GetRecordCount() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsFile is a marker method to prevent unintentional type checks (interfaces of same signature) + IsFile() + // CreateBuilder creates a FileBuilder + CreateFileBuilder() FileBuilder +} + +// _File is the data-structure of this message +type _File struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + FileType ReadableProperty + FileSize ReadableProperty + ModificationDate ReadableProperty + Archive WritableProperty + ReadOnly ReadableProperty + FileAccessMethod ReadableProperty + RecordCount OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ File = (*_File)(nil) + +// NewFile factory function for _File +func NewFile(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, fileType ReadableProperty, fileSize ReadableProperty, modificationDate ReadableProperty, archive WritableProperty, readOnly ReadableProperty, fileAccessMethod ReadableProperty, recordCount OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_File { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for File must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for File must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for File must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for File must not be nil") + } + if fileType == nil { + panic("fileType of type ReadableProperty for File must not be nil") + } + if fileSize == nil { + panic("fileSize of type ReadableProperty for File must not be nil") + } + if modificationDate == nil { + panic("modificationDate of type ReadableProperty for File must not be nil") + } + if archive == nil { + panic("archive of type WritableProperty for File must not be nil") + } + if readOnly == nil { + panic("readOnly of type ReadableProperty for File must not be nil") + } + if fileAccessMethod == nil { + panic("fileAccessMethod of type ReadableProperty for File must not be nil") + } + if recordCount == nil { + panic("recordCount of type OptionalProperty for File must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for File must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for File must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for File must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for File must not be nil") + } + return &_File{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, FileType: fileType, FileSize: fileSize, ModificationDate: modificationDate, Archive: archive, ReadOnly: readOnly, FileAccessMethod: fileAccessMethod, RecordCount: recordCount, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// FileBuilder is a builder for File +type FileBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, fileType ReadableProperty, fileSize ReadableProperty, modificationDate ReadableProperty, archive WritableProperty, readOnly ReadableProperty, fileAccessMethod ReadableProperty, recordCount OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) FileBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) FileBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) FileBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) FileBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) FileBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder + // WithFileType adds FileType (property field) + WithFileType(ReadableProperty) FileBuilder + // WithFileTypeBuilder adds FileType (property field) which is build by the builder + WithFileTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder + // WithFileSize adds FileSize (property field) + WithFileSize(ReadableProperty) FileBuilder + // WithFileSizeBuilder adds FileSize (property field) which is build by the builder + WithFileSizeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder + // WithModificationDate adds ModificationDate (property field) + WithModificationDate(ReadableProperty) FileBuilder + // WithModificationDateBuilder adds ModificationDate (property field) which is build by the builder + WithModificationDateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder + // WithArchive adds Archive (property field) + WithArchive(WritableProperty) FileBuilder + // WithArchiveBuilder adds Archive (property field) which is build by the builder + WithArchiveBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) FileBuilder + // WithReadOnly adds ReadOnly (property field) + WithReadOnly(ReadableProperty) FileBuilder + // WithReadOnlyBuilder adds ReadOnly (property field) which is build by the builder + WithReadOnlyBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder + // WithFileAccessMethod adds FileAccessMethod (property field) + WithFileAccessMethod(ReadableProperty) FileBuilder + // WithFileAccessMethodBuilder adds FileAccessMethod (property field) which is build by the builder + WithFileAccessMethodBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder + // WithRecordCount adds RecordCount (property field) + WithRecordCount(OptionalProperty) FileBuilder + // WithRecordCountBuilder adds RecordCount (property field) which is build by the builder + WithRecordCountBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) FileBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) FileBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) FileBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) FileBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder + // Build builds the File or returns an error if something is wrong + Build() (File, error) + // MustBuild does the same as Build but panics on error + MustBuild() File +} + +// NewFileBuilder() creates a FileBuilder +func NewFileBuilder() FileBuilder { + return &_FileBuilder{_File: new(_File)} +} + +type _FileBuilder struct { + *_File + + err *utils.MultiError +} + +var _ (FileBuilder) = (*_FileBuilder)(nil) + +func (b *_FileBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, fileType ReadableProperty, fileSize ReadableProperty, modificationDate ReadableProperty, archive WritableProperty, readOnly ReadableProperty, fileAccessMethod ReadableProperty, recordCount OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) FileBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithFileType(fileType).WithFileSize(fileSize).WithModificationDate(modificationDate).WithArchive(archive).WithReadOnly(readOnly).WithFileAccessMethod(fileAccessMethod).WithRecordCount(recordCount).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_FileBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) FileBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_FileBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithObjectName(objectName ReadableProperty) FileBuilder { + b.ObjectName = objectName + return b +} + +func (b *_FileBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithObjectType(objectType ReadableProperty) FileBuilder { + b.ObjectType = objectType + return b +} + +func (b *_FileBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithDescription(description OptionalProperty) FileBuilder { + b.Description = description + return b +} + +func (b *_FileBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithFileType(fileType ReadableProperty) FileBuilder { + b.FileType = fileType + return b +} + +func (b *_FileBuilder) WithFileTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.FileType.CreateReadablePropertyBuilder()) + var err error + b.FileType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithFileSize(fileSize ReadableProperty) FileBuilder { + b.FileSize = fileSize + return b +} + +func (b *_FileBuilder) WithFileSizeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.FileSize.CreateReadablePropertyBuilder()) + var err error + b.FileSize, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithModificationDate(modificationDate ReadableProperty) FileBuilder { + b.ModificationDate = modificationDate + return b +} + +func (b *_FileBuilder) WithModificationDateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.ModificationDate.CreateReadablePropertyBuilder()) + var err error + b.ModificationDate, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithArchive(archive WritableProperty) FileBuilder { + b.Archive = archive + return b +} + +func (b *_FileBuilder) WithArchiveBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.Archive.CreateWritablePropertyBuilder()) + var err error + b.Archive, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithReadOnly(readOnly ReadableProperty) FileBuilder { + b.ReadOnly = readOnly + return b +} + +func (b *_FileBuilder) WithReadOnlyBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.ReadOnly.CreateReadablePropertyBuilder()) + var err error + b.ReadOnly, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithFileAccessMethod(fileAccessMethod ReadableProperty) FileBuilder { + b.FileAccessMethod = fileAccessMethod + return b +} + +func (b *_FileBuilder) WithFileAccessMethodBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.FileAccessMethod.CreateReadablePropertyBuilder()) + var err error + b.FileAccessMethod, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithRecordCount(recordCount OptionalProperty) FileBuilder { + b.RecordCount = recordCount + return b +} + +func (b *_FileBuilder) WithRecordCountBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder { + builder := builderSupplier(b.RecordCount.CreateOptionalPropertyBuilder()) + var err error + b.RecordCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithPropertyList(propertyList ReadableProperty) FileBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_FileBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) FileBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithTags(tags OptionalProperty) FileBuilder { + b.Tags = tags + return b +} + +func (b *_FileBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithProfileLocation(profileLocation OptionalProperty) FileBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_FileBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) WithProfileName(profileName OptionalProperty) FileBuilder { + b.ProfileName = profileName + return b +} + +func (b *_FileBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) FileBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_FileBuilder) Build() (File, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.FileType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'fileType' not set")) + } + if b.FileSize == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'fileSize' not set")) + } + if b.ModificationDate == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'modificationDate' not set")) + } + if b.Archive == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'archive' not set")) + } + if b.ReadOnly == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'readOnly' not set")) + } + if b.FileAccessMethod == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'fileAccessMethod' not set")) + } + if b.RecordCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'recordCount' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._File.deepCopy(), nil +} + +func (b *_FileBuilder) MustBuild() File { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_FileBuilder) DeepCopy() any { + _copy := b.CreateFileBuilder().(*_FileBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateFileBuilder creates a FileBuilder +func (b *_File) CreateFileBuilder() FileBuilder { + if b == nil { + return NewFileBuilder() + } + return &_FileBuilder{_File: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_File) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_File) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_File) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_File) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_File) GetFileType() ReadableProperty { + return m.FileType +} + +func (m *_File) GetFileSize() ReadableProperty { + return m.FileSize +} + +func (m *_File) GetModificationDate() ReadableProperty { + return m.ModificationDate +} + +func (m *_File) GetArchive() WritableProperty { + return m.Archive +} + +func (m *_File) GetReadOnly() ReadableProperty { + return m.ReadOnly +} + +func (m *_File) GetFileAccessMethod() ReadableProperty { + return m.FileAccessMethod +} + +func (m *_File) GetRecordCount() OptionalProperty { + return m.RecordCount +} + +func (m *_File) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_File) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_File) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_File) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastFile(structType any) File { + if casted, ok := structType.(File); ok { + return casted + } + if casted, ok := structType.(*File); ok { + return *casted + } + return nil +} + +func (m *_File) GetTypeName() string { + return "File" +} + +func (m *_File) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (fileType) + lengthInBits += m.FileType.GetLengthInBits(ctx) + + // Simple field (fileSize) + lengthInBits += m.FileSize.GetLengthInBits(ctx) + + // Simple field (modificationDate) + lengthInBits += m.ModificationDate.GetLengthInBits(ctx) + + // Simple field (archive) + lengthInBits += m.Archive.GetLengthInBits(ctx) + + // Simple field (readOnly) + lengthInBits += m.ReadOnly.GetLengthInBits(ctx) + + // Simple field (fileAccessMethod) + lengthInBits += m.FileAccessMethod.GetLengthInBits(ctx) + + // Simple field (recordCount) + lengthInBits += m.RecordCount.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_File) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func FileParse(ctx context.Context, theBytes []byte) (File, error) { + return FileParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func FileParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (File, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (File, error) { + return FileParseWithBuffer(ctx, readBuffer) + } +} + +func FileParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (File, error) { + v, err := (&_File{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_File) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__file File, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("File"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for File") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + fileType, err := ReadSimpleField[ReadableProperty](ctx, "fileType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'fileType' field")) + } + m.FileType = fileType + + fileSize, err := ReadSimpleField[ReadableProperty](ctx, "fileSize", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'fileSize' field")) + } + m.FileSize = fileSize + + modificationDate, err := ReadSimpleField[ReadableProperty](ctx, "modificationDate", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'modificationDate' field")) + } + m.ModificationDate = modificationDate + + archive, err := ReadSimpleField[WritableProperty](ctx, "archive", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'archive' field")) + } + m.Archive = archive + + readOnly, err := ReadSimpleField[ReadableProperty](ctx, "readOnly", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'readOnly' field")) + } + m.ReadOnly = readOnly + + fileAccessMethod, err := ReadSimpleField[ReadableProperty](ctx, "fileAccessMethod", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetFileAccessMethod")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'fileAccessMethod' field")) + } + m.FileAccessMethod = fileAccessMethod + + recordCount, err := ReadSimpleField[OptionalProperty](ctx, "recordCount", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'recordCount' field")) + } + m.RecordCount = recordCount + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("File"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for File") + } + + return m, nil +} + +func (m *_File) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_File) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("File"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for File") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "fileType", m.GetFileType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'fileType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "fileSize", m.GetFileSize(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'fileSize' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "modificationDate", m.GetModificationDate(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'modificationDate' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "archive", m.GetArchive(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'archive' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "readOnly", m.GetReadOnly(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'readOnly' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "fileAccessMethod", m.GetFileAccessMethod(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'fileAccessMethod' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "recordCount", m.GetRecordCount(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'recordCount' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("File"); popErr != nil { + return errors.Wrap(popErr, "Error popping for File") + } + return nil +} + +func (m *_File) IsFile() {} + +func (m *_File) DeepCopy() any { + return m.deepCopy() +} + +func (m *_File) deepCopy() *_File { + if m == nil { + return nil + } + _FileCopy := &_File{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.FileType.DeepCopy().(ReadableProperty), + m.FileSize.DeepCopy().(ReadableProperty), + m.ModificationDate.DeepCopy().(ReadableProperty), + m.Archive.DeepCopy().(WritableProperty), + m.ReadOnly.DeepCopy().(ReadableProperty), + m.FileAccessMethod.DeepCopy().(ReadableProperty), + m.RecordCount.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _FileCopy +} + +func (m *_File) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/GlobalGroup.go b/plc4go/protocols/bacnetip/readwrite/model/GlobalGroup.go new file mode 100644 index 00000000000..ca180849252 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/GlobalGroup.go @@ -0,0 +1,2068 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// GlobalGroup is the corresponding interface of GlobalGroup +type GlobalGroup interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetGroupMembers returns GroupMembers (property field) + GetGroupMembers() ReadableProperty + // GetGroupMemberNames returns GroupMemberNames (property field) + GetGroupMemberNames() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetMemberStatusFlags returns MemberStatusFlags (property field) + GetMemberStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutofService returns OutofService (property field) + GetOutofService() ReadableProperty + // GetUpdateInterval returns UpdateInterval (property field) + GetUpdateInterval() OptionalProperty + // GetRequestedUpdateInterval returns RequestedUpdateInterval (property field) + GetRequestedUpdateInterval() OptionalProperty + // GetCOVResubscriptionInterval returns COVResubscriptionInterval (property field) + GetCOVResubscriptionInterval() OptionalProperty + // GetClientCOVIncrement returns ClientCOVIncrement (property field) + GetClientCOVIncrement() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetCOVUPeriod returns COVUPeriod (property field) + GetCOVUPeriod() OptionalProperty + // GetCOVURecipients returns COVURecipients (property field) + GetCOVURecipients() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsGlobalGroup is a marker method to prevent unintentional type checks (interfaces of same signature) + IsGlobalGroup() + // CreateBuilder creates a GlobalGroupBuilder + CreateGlobalGroupBuilder() GlobalGroupBuilder +} + +// _GlobalGroup is the data-structure of this message +type _GlobalGroup struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + GroupMembers ReadableProperty + GroupMemberNames OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState ReadableProperty + MemberStatusFlags ReadableProperty + Reliability OptionalProperty + OutofService ReadableProperty + UpdateInterval OptionalProperty + RequestedUpdateInterval OptionalProperty + COVResubscriptionInterval OptionalProperty + ClientCOVIncrement OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + COVUPeriod OptionalProperty + COVURecipients OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ GlobalGroup = (*_GlobalGroup)(nil) + +// NewGlobalGroup factory function for _GlobalGroup +func NewGlobalGroup(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, groupMembers ReadableProperty, groupMemberNames OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState ReadableProperty, memberStatusFlags ReadableProperty, reliability OptionalProperty, outofService ReadableProperty, updateInterval OptionalProperty, requestedUpdateInterval OptionalProperty, cOVResubscriptionInterval OptionalProperty, clientCOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, cOVUPeriod OptionalProperty, cOVURecipients OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_GlobalGroup { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for GlobalGroup must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for GlobalGroup must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for GlobalGroup must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for GlobalGroup must not be nil") + } + if groupMembers == nil { + panic("groupMembers of type ReadableProperty for GlobalGroup must not be nil") + } + if groupMemberNames == nil { + panic("groupMemberNames of type OptionalProperty for GlobalGroup must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for GlobalGroup must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for GlobalGroup must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for GlobalGroup must not be nil") + } + if memberStatusFlags == nil { + panic("memberStatusFlags of type ReadableProperty for GlobalGroup must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for GlobalGroup must not be nil") + } + if outofService == nil { + panic("outofService of type ReadableProperty for GlobalGroup must not be nil") + } + if updateInterval == nil { + panic("updateInterval of type OptionalProperty for GlobalGroup must not be nil") + } + if requestedUpdateInterval == nil { + panic("requestedUpdateInterval of type OptionalProperty for GlobalGroup must not be nil") + } + if cOVResubscriptionInterval == nil { + panic("cOVResubscriptionInterval of type OptionalProperty for GlobalGroup must not be nil") + } + if clientCOVIncrement == nil { + panic("clientCOVIncrement of type OptionalProperty for GlobalGroup must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for GlobalGroup must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for GlobalGroup must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for GlobalGroup must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for GlobalGroup must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for GlobalGroup must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for GlobalGroup must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for GlobalGroup must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for GlobalGroup must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for GlobalGroup must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for GlobalGroup must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for GlobalGroup must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for GlobalGroup must not be nil") + } + if cOVUPeriod == nil { + panic("cOVUPeriod of type OptionalProperty for GlobalGroup must not be nil") + } + if cOVURecipients == nil { + panic("cOVURecipients of type OptionalProperty for GlobalGroup must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for GlobalGroup must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for GlobalGroup must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for GlobalGroup must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for GlobalGroup must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for GlobalGroup must not be nil") + } + return &_GlobalGroup{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, GroupMembers: groupMembers, GroupMemberNames: groupMemberNames, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, MemberStatusFlags: memberStatusFlags, Reliability: reliability, OutofService: outofService, UpdateInterval: updateInterval, RequestedUpdateInterval: requestedUpdateInterval, COVResubscriptionInterval: cOVResubscriptionInterval, ClientCOVIncrement: clientCOVIncrement, TimeDelay: timeDelay, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, COVUPeriod: cOVUPeriod, COVURecipients: cOVURecipients, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// GlobalGroupBuilder is a builder for GlobalGroup +type GlobalGroupBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, groupMembers ReadableProperty, groupMemberNames OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState ReadableProperty, memberStatusFlags ReadableProperty, reliability OptionalProperty, outofService ReadableProperty, updateInterval OptionalProperty, requestedUpdateInterval OptionalProperty, cOVResubscriptionInterval OptionalProperty, clientCOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, cOVUPeriod OptionalProperty, cOVURecipients OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) GlobalGroupBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) GlobalGroupBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) GlobalGroupBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) GlobalGroupBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) GlobalGroupBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithGroupMembers adds GroupMembers (property field) + WithGroupMembers(ReadableProperty) GlobalGroupBuilder + // WithGroupMembersBuilder adds GroupMembers (property field) which is build by the builder + WithGroupMembersBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithGroupMemberNames adds GroupMemberNames (property field) + WithGroupMemberNames(OptionalProperty) GlobalGroupBuilder + // WithGroupMemberNamesBuilder adds GroupMemberNames (property field) which is build by the builder + WithGroupMemberNamesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) GlobalGroupBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) GlobalGroupBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) GlobalGroupBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithMemberStatusFlags adds MemberStatusFlags (property field) + WithMemberStatusFlags(ReadableProperty) GlobalGroupBuilder + // WithMemberStatusFlagsBuilder adds MemberStatusFlags (property field) which is build by the builder + WithMemberStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) GlobalGroupBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithOutofService adds OutofService (property field) + WithOutofService(ReadableProperty) GlobalGroupBuilder + // WithOutofServiceBuilder adds OutofService (property field) which is build by the builder + WithOutofServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithUpdateInterval adds UpdateInterval (property field) + WithUpdateInterval(OptionalProperty) GlobalGroupBuilder + // WithUpdateIntervalBuilder adds UpdateInterval (property field) which is build by the builder + WithUpdateIntervalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithRequestedUpdateInterval adds RequestedUpdateInterval (property field) + WithRequestedUpdateInterval(OptionalProperty) GlobalGroupBuilder + // WithRequestedUpdateIntervalBuilder adds RequestedUpdateInterval (property field) which is build by the builder + WithRequestedUpdateIntervalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithCOVResubscriptionInterval adds COVResubscriptionInterval (property field) + WithCOVResubscriptionInterval(OptionalProperty) GlobalGroupBuilder + // WithCOVResubscriptionIntervalBuilder adds COVResubscriptionInterval (property field) which is build by the builder + WithCOVResubscriptionIntervalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithClientCOVIncrement adds ClientCOVIncrement (property field) + WithClientCOVIncrement(OptionalProperty) GlobalGroupBuilder + // WithClientCOVIncrementBuilder adds ClientCOVIncrement (property field) which is build by the builder + WithClientCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) GlobalGroupBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) GlobalGroupBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) GlobalGroupBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) GlobalGroupBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) GlobalGroupBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) GlobalGroupBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) GlobalGroupBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) GlobalGroupBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) GlobalGroupBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) GlobalGroupBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) GlobalGroupBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) GlobalGroupBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithCOVUPeriod adds COVUPeriod (property field) + WithCOVUPeriod(OptionalProperty) GlobalGroupBuilder + // WithCOVUPeriodBuilder adds COVUPeriod (property field) which is build by the builder + WithCOVUPeriodBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithCOVURecipients adds COVURecipients (property field) + WithCOVURecipients(OptionalProperty) GlobalGroupBuilder + // WithCOVURecipientsBuilder adds COVURecipients (property field) which is build by the builder + WithCOVURecipientsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) GlobalGroupBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) GlobalGroupBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) GlobalGroupBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) GlobalGroupBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) GlobalGroupBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder + // Build builds the GlobalGroup or returns an error if something is wrong + Build() (GlobalGroup, error) + // MustBuild does the same as Build but panics on error + MustBuild() GlobalGroup +} + +// NewGlobalGroupBuilder() creates a GlobalGroupBuilder +func NewGlobalGroupBuilder() GlobalGroupBuilder { + return &_GlobalGroupBuilder{_GlobalGroup: new(_GlobalGroup)} +} + +type _GlobalGroupBuilder struct { + *_GlobalGroup + + err *utils.MultiError +} + +var _ (GlobalGroupBuilder) = (*_GlobalGroupBuilder)(nil) + +func (b *_GlobalGroupBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, groupMembers ReadableProperty, groupMemberNames OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState ReadableProperty, memberStatusFlags ReadableProperty, reliability OptionalProperty, outofService ReadableProperty, updateInterval OptionalProperty, requestedUpdateInterval OptionalProperty, cOVResubscriptionInterval OptionalProperty, clientCOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, cOVUPeriod OptionalProperty, cOVURecipients OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) GlobalGroupBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithGroupMembers(groupMembers).WithGroupMemberNames(groupMemberNames).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithMemberStatusFlags(memberStatusFlags).WithReliability(reliability).WithOutofService(outofService).WithUpdateInterval(updateInterval).WithRequestedUpdateInterval(requestedUpdateInterval).WithCOVResubscriptionInterval(cOVResubscriptionInterval).WithClientCOVIncrement(clientCOVIncrement).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithCOVUPeriod(cOVUPeriod).WithCOVURecipients(cOVURecipients).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_GlobalGroupBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) GlobalGroupBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_GlobalGroupBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithObjectName(objectName ReadableProperty) GlobalGroupBuilder { + b.ObjectName = objectName + return b +} + +func (b *_GlobalGroupBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithObjectType(objectType ReadableProperty) GlobalGroupBuilder { + b.ObjectType = objectType + return b +} + +func (b *_GlobalGroupBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithDescription(description OptionalProperty) GlobalGroupBuilder { + b.Description = description + return b +} + +func (b *_GlobalGroupBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithGroupMembers(groupMembers ReadableProperty) GlobalGroupBuilder { + b.GroupMembers = groupMembers + return b +} + +func (b *_GlobalGroupBuilder) WithGroupMembersBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.GroupMembers.CreateReadablePropertyBuilder()) + var err error + b.GroupMembers, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithGroupMemberNames(groupMemberNames OptionalProperty) GlobalGroupBuilder { + b.GroupMemberNames = groupMemberNames + return b +} + +func (b *_GlobalGroupBuilder) WithGroupMemberNamesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.GroupMemberNames.CreateOptionalPropertyBuilder()) + var err error + b.GroupMemberNames, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithPresentValue(presentValue ReadableProperty) GlobalGroupBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_GlobalGroupBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithStatusFlags(statusFlags ReadableProperty) GlobalGroupBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_GlobalGroupBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithEventState(eventState ReadableProperty) GlobalGroupBuilder { + b.EventState = eventState + return b +} + +func (b *_GlobalGroupBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithMemberStatusFlags(memberStatusFlags ReadableProperty) GlobalGroupBuilder { + b.MemberStatusFlags = memberStatusFlags + return b +} + +func (b *_GlobalGroupBuilder) WithMemberStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.MemberStatusFlags.CreateReadablePropertyBuilder()) + var err error + b.MemberStatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithReliability(reliability OptionalProperty) GlobalGroupBuilder { + b.Reliability = reliability + return b +} + +func (b *_GlobalGroupBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithOutofService(outofService ReadableProperty) GlobalGroupBuilder { + b.OutofService = outofService + return b +} + +func (b *_GlobalGroupBuilder) WithOutofServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.OutofService.CreateReadablePropertyBuilder()) + var err error + b.OutofService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithUpdateInterval(updateInterval OptionalProperty) GlobalGroupBuilder { + b.UpdateInterval = updateInterval + return b +} + +func (b *_GlobalGroupBuilder) WithUpdateIntervalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.UpdateInterval.CreateOptionalPropertyBuilder()) + var err error + b.UpdateInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithRequestedUpdateInterval(requestedUpdateInterval OptionalProperty) GlobalGroupBuilder { + b.RequestedUpdateInterval = requestedUpdateInterval + return b +} + +func (b *_GlobalGroupBuilder) WithRequestedUpdateIntervalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.RequestedUpdateInterval.CreateOptionalPropertyBuilder()) + var err error + b.RequestedUpdateInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithCOVResubscriptionInterval(cOVResubscriptionInterval OptionalProperty) GlobalGroupBuilder { + b.COVResubscriptionInterval = cOVResubscriptionInterval + return b +} + +func (b *_GlobalGroupBuilder) WithCOVResubscriptionIntervalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.COVResubscriptionInterval.CreateOptionalPropertyBuilder()) + var err error + b.COVResubscriptionInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithClientCOVIncrement(clientCOVIncrement OptionalProperty) GlobalGroupBuilder { + b.ClientCOVIncrement = clientCOVIncrement + return b +} + +func (b *_GlobalGroupBuilder) WithClientCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.ClientCOVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.ClientCOVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithTimeDelay(timeDelay OptionalProperty) GlobalGroupBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_GlobalGroupBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithNotificationClass(notificationClass OptionalProperty) GlobalGroupBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_GlobalGroupBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithEventEnable(eventEnable OptionalProperty) GlobalGroupBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_GlobalGroupBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) GlobalGroupBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_GlobalGroupBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithNotifyType(notifyType OptionalProperty) GlobalGroupBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_GlobalGroupBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) GlobalGroupBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_GlobalGroupBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) GlobalGroupBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_GlobalGroupBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) GlobalGroupBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_GlobalGroupBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) GlobalGroupBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_GlobalGroupBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) GlobalGroupBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_GlobalGroupBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) GlobalGroupBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_GlobalGroupBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) GlobalGroupBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_GlobalGroupBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithCOVUPeriod(cOVUPeriod OptionalProperty) GlobalGroupBuilder { + b.COVUPeriod = cOVUPeriod + return b +} + +func (b *_GlobalGroupBuilder) WithCOVUPeriodBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.COVUPeriod.CreateOptionalPropertyBuilder()) + var err error + b.COVUPeriod, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithCOVURecipients(cOVURecipients OptionalProperty) GlobalGroupBuilder { + b.COVURecipients = cOVURecipients + return b +} + +func (b *_GlobalGroupBuilder) WithCOVURecipientsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.COVURecipients.CreateOptionalPropertyBuilder()) + var err error + b.COVURecipients, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) GlobalGroupBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_GlobalGroupBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithPropertyList(propertyList ReadableProperty) GlobalGroupBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_GlobalGroupBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithTags(tags OptionalProperty) GlobalGroupBuilder { + b.Tags = tags + return b +} + +func (b *_GlobalGroupBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithProfileLocation(profileLocation OptionalProperty) GlobalGroupBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_GlobalGroupBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) WithProfileName(profileName OptionalProperty) GlobalGroupBuilder { + b.ProfileName = profileName + return b +} + +func (b *_GlobalGroupBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GlobalGroupBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GlobalGroupBuilder) Build() (GlobalGroup, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.GroupMembers == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'groupMembers' not set")) + } + if b.GroupMemberNames == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'groupMemberNames' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.MemberStatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'memberStatusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutofService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outofService' not set")) + } + if b.UpdateInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'updateInterval' not set")) + } + if b.RequestedUpdateInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'requestedUpdateInterval' not set")) + } + if b.COVResubscriptionInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVResubscriptionInterval' not set")) + } + if b.ClientCOVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'clientCOVIncrement' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.COVUPeriod == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVUPeriod' not set")) + } + if b.COVURecipients == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVURecipients' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._GlobalGroup.deepCopy(), nil +} + +func (b *_GlobalGroupBuilder) MustBuild() GlobalGroup { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_GlobalGroupBuilder) DeepCopy() any { + _copy := b.CreateGlobalGroupBuilder().(*_GlobalGroupBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateGlobalGroupBuilder creates a GlobalGroupBuilder +func (b *_GlobalGroup) CreateGlobalGroupBuilder() GlobalGroupBuilder { + if b == nil { + return NewGlobalGroupBuilder() + } + return &_GlobalGroupBuilder{_GlobalGroup: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_GlobalGroup) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_GlobalGroup) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_GlobalGroup) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_GlobalGroup) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_GlobalGroup) GetGroupMembers() ReadableProperty { + return m.GroupMembers +} + +func (m *_GlobalGroup) GetGroupMemberNames() OptionalProperty { + return m.GroupMemberNames +} + +func (m *_GlobalGroup) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_GlobalGroup) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_GlobalGroup) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_GlobalGroup) GetMemberStatusFlags() ReadableProperty { + return m.MemberStatusFlags +} + +func (m *_GlobalGroup) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_GlobalGroup) GetOutofService() ReadableProperty { + return m.OutofService +} + +func (m *_GlobalGroup) GetUpdateInterval() OptionalProperty { + return m.UpdateInterval +} + +func (m *_GlobalGroup) GetRequestedUpdateInterval() OptionalProperty { + return m.RequestedUpdateInterval +} + +func (m *_GlobalGroup) GetCOVResubscriptionInterval() OptionalProperty { + return m.COVResubscriptionInterval +} + +func (m *_GlobalGroup) GetClientCOVIncrement() OptionalProperty { + return m.ClientCOVIncrement +} + +func (m *_GlobalGroup) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_GlobalGroup) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_GlobalGroup) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_GlobalGroup) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_GlobalGroup) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_GlobalGroup) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_GlobalGroup) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_GlobalGroup) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_GlobalGroup) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_GlobalGroup) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_GlobalGroup) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_GlobalGroup) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_GlobalGroup) GetCOVUPeriod() OptionalProperty { + return m.COVUPeriod +} + +func (m *_GlobalGroup) GetCOVURecipients() OptionalProperty { + return m.COVURecipients +} + +func (m *_GlobalGroup) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_GlobalGroup) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_GlobalGroup) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_GlobalGroup) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_GlobalGroup) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastGlobalGroup(structType any) GlobalGroup { + if casted, ok := structType.(GlobalGroup); ok { + return casted + } + if casted, ok := structType.(*GlobalGroup); ok { + return *casted + } + return nil +} + +func (m *_GlobalGroup) GetTypeName() string { + return "GlobalGroup" +} + +func (m *_GlobalGroup) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (groupMembers) + lengthInBits += m.GroupMembers.GetLengthInBits(ctx) + + // Simple field (groupMemberNames) + lengthInBits += m.GroupMemberNames.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (memberStatusFlags) + lengthInBits += m.MemberStatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outofService) + lengthInBits += m.OutofService.GetLengthInBits(ctx) + + // Simple field (updateInterval) + lengthInBits += m.UpdateInterval.GetLengthInBits(ctx) + + // Simple field (requestedUpdateInterval) + lengthInBits += m.RequestedUpdateInterval.GetLengthInBits(ctx) + + // Simple field (cOVResubscriptionInterval) + lengthInBits += m.COVResubscriptionInterval.GetLengthInBits(ctx) + + // Simple field (clientCOVIncrement) + lengthInBits += m.ClientCOVIncrement.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (cOVUPeriod) + lengthInBits += m.COVUPeriod.GetLengthInBits(ctx) + + // Simple field (cOVURecipients) + lengthInBits += m.COVURecipients.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_GlobalGroup) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func GlobalGroupParse(ctx context.Context, theBytes []byte) (GlobalGroup, error) { + return GlobalGroupParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func GlobalGroupParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (GlobalGroup, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (GlobalGroup, error) { + return GlobalGroupParseWithBuffer(ctx, readBuffer) + } +} + +func GlobalGroupParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (GlobalGroup, error) { + v, err := (&_GlobalGroup{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_GlobalGroup) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__globalGroup GlobalGroup, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("GlobalGroup"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for GlobalGroup") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + groupMembers, err := ReadSimpleField[ReadableProperty](ctx, "groupMembers", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetDeviceObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'groupMembers' field")) + } + m.GroupMembers = groupMembers + + groupMemberNames, err := ReadSimpleField[OptionalProperty](ctx, "groupMemberNames", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'groupMemberNames' field")) + } + m.GroupMemberNames = groupMemberNames + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyAccessResult")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + memberStatusFlags, err := ReadSimpleField[ReadableProperty](ctx, "memberStatusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'memberStatusFlags' field")) + } + m.MemberStatusFlags = memberStatusFlags + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outofService, err := ReadSimpleField[ReadableProperty](ctx, "outofService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outofService' field")) + } + m.OutofService = outofService + + updateInterval, err := ReadSimpleField[OptionalProperty](ctx, "updateInterval", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'updateInterval' field")) + } + m.UpdateInterval = updateInterval + + requestedUpdateInterval, err := ReadSimpleField[OptionalProperty](ctx, "requestedUpdateInterval", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'requestedUpdateInterval' field")) + } + m.RequestedUpdateInterval = requestedUpdateInterval + + cOVResubscriptionInterval, err := ReadSimpleField[OptionalProperty](ctx, "cOVResubscriptionInterval", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVResubscriptionInterval' field")) + } + m.COVResubscriptionInterval = cOVResubscriptionInterval + + clientCOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "clientCOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetClientCOV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'clientCOVIncrement' field")) + } + m.ClientCOVIncrement = clientCOVIncrement + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + cOVUPeriod, err := ReadSimpleField[OptionalProperty](ctx, "cOVUPeriod", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVUPeriod' field")) + } + m.COVUPeriod = cOVUPeriod + + cOVURecipients, err := ReadSimpleField[OptionalProperty](ctx, "cOVURecipients", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetRecipient")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVURecipients' field")) + } + m.COVURecipients = cOVURecipients + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("GlobalGroup"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for GlobalGroup") + } + + return m, nil +} + +func (m *_GlobalGroup) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_GlobalGroup) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("GlobalGroup"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for GlobalGroup") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "groupMembers", m.GetGroupMembers(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'groupMembers' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "groupMemberNames", m.GetGroupMemberNames(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'groupMemberNames' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "memberStatusFlags", m.GetMemberStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'memberStatusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outofService", m.GetOutofService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outofService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "updateInterval", m.GetUpdateInterval(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'updateInterval' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "requestedUpdateInterval", m.GetRequestedUpdateInterval(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'requestedUpdateInterval' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVResubscriptionInterval", m.GetCOVResubscriptionInterval(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVResubscriptionInterval' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "clientCOVIncrement", m.GetClientCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'clientCOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVUPeriod", m.GetCOVUPeriod(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVUPeriod' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVURecipients", m.GetCOVURecipients(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVURecipients' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("GlobalGroup"); popErr != nil { + return errors.Wrap(popErr, "Error popping for GlobalGroup") + } + return nil +} + +func (m *_GlobalGroup) IsGlobalGroup() {} + +func (m *_GlobalGroup) DeepCopy() any { + return m.deepCopy() +} + +func (m *_GlobalGroup) deepCopy() *_GlobalGroup { + if m == nil { + return nil + } + _GlobalGroupCopy := &_GlobalGroup{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.GroupMembers.DeepCopy().(ReadableProperty), + m.GroupMemberNames.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.MemberStatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutofService.DeepCopy().(ReadableProperty), + m.UpdateInterval.DeepCopy().(OptionalProperty), + m.RequestedUpdateInterval.DeepCopy().(OptionalProperty), + m.COVResubscriptionInterval.DeepCopy().(OptionalProperty), + m.ClientCOVIncrement.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.COVUPeriod.DeepCopy().(OptionalProperty), + m.COVURecipients.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _GlobalGroupCopy +} + +func (m *_GlobalGroup) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Group.go b/plc4go/protocols/bacnetip/readwrite/model/Group.go new file mode 100644 index 00000000000..d2f1fbc2cfb --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Group.go @@ -0,0 +1,768 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Group is the corresponding interface of Group +type Group interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetListOfGroupMembers returns ListOfGroupMembers (property field) + GetListOfGroupMembers() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsGroup is a marker method to prevent unintentional type checks (interfaces of same signature) + IsGroup() + // CreateBuilder creates a GroupBuilder + CreateGroupBuilder() GroupBuilder +} + +// _Group is the data-structure of this message +type _Group struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + ListOfGroupMembers ReadableProperty + PresentValue ReadableProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Group = (*_Group)(nil) + +// NewGroup factory function for _Group +func NewGroup(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, listOfGroupMembers ReadableProperty, presentValue ReadableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Group { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Group must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Group must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Group must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Group must not be nil") + } + if listOfGroupMembers == nil { + panic("listOfGroupMembers of type ReadableProperty for Group must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for Group must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Group must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Group must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Group must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Group must not be nil") + } + return &_Group{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, ListOfGroupMembers: listOfGroupMembers, PresentValue: presentValue, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// GroupBuilder is a builder for Group +type GroupBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, listOfGroupMembers ReadableProperty, presentValue ReadableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) GroupBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) GroupBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) GroupBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) GroupBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) GroupBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GroupBuilder + // WithListOfGroupMembers adds ListOfGroupMembers (property field) + WithListOfGroupMembers(ReadableProperty) GroupBuilder + // WithListOfGroupMembersBuilder adds ListOfGroupMembers (property field) which is build by the builder + WithListOfGroupMembersBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) GroupBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) GroupBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) GroupBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GroupBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) GroupBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GroupBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) GroupBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) GroupBuilder + // Build builds the Group or returns an error if something is wrong + Build() (Group, error) + // MustBuild does the same as Build but panics on error + MustBuild() Group +} + +// NewGroupBuilder() creates a GroupBuilder +func NewGroupBuilder() GroupBuilder { + return &_GroupBuilder{_Group: new(_Group)} +} + +type _GroupBuilder struct { + *_Group + + err *utils.MultiError +} + +var _ (GroupBuilder) = (*_GroupBuilder)(nil) + +func (b *_GroupBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, listOfGroupMembers ReadableProperty, presentValue ReadableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) GroupBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithListOfGroupMembers(listOfGroupMembers).WithPresentValue(presentValue).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_GroupBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) GroupBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_GroupBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) WithObjectName(objectName ReadableProperty) GroupBuilder { + b.ObjectName = objectName + return b +} + +func (b *_GroupBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) WithObjectType(objectType ReadableProperty) GroupBuilder { + b.ObjectType = objectType + return b +} + +func (b *_GroupBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) WithDescription(description OptionalProperty) GroupBuilder { + b.Description = description + return b +} + +func (b *_GroupBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GroupBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) WithListOfGroupMembers(listOfGroupMembers ReadableProperty) GroupBuilder { + b.ListOfGroupMembers = listOfGroupMembers + return b +} + +func (b *_GroupBuilder) WithListOfGroupMembersBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder { + builder := builderSupplier(b.ListOfGroupMembers.CreateReadablePropertyBuilder()) + var err error + b.ListOfGroupMembers, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) WithPresentValue(presentValue ReadableProperty) GroupBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_GroupBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) WithPropertyList(propertyList ReadableProperty) GroupBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_GroupBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) GroupBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) WithTags(tags OptionalProperty) GroupBuilder { + b.Tags = tags + return b +} + +func (b *_GroupBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GroupBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) WithProfileLocation(profileLocation OptionalProperty) GroupBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_GroupBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GroupBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) WithProfileName(profileName OptionalProperty) GroupBuilder { + b.ProfileName = profileName + return b +} + +func (b *_GroupBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) GroupBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_GroupBuilder) Build() (Group, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.ListOfGroupMembers == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'listOfGroupMembers' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Group.deepCopy(), nil +} + +func (b *_GroupBuilder) MustBuild() Group { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_GroupBuilder) DeepCopy() any { + _copy := b.CreateGroupBuilder().(*_GroupBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateGroupBuilder creates a GroupBuilder +func (b *_Group) CreateGroupBuilder() GroupBuilder { + if b == nil { + return NewGroupBuilder() + } + return &_GroupBuilder{_Group: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Group) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Group) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Group) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Group) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Group) GetListOfGroupMembers() ReadableProperty { + return m.ListOfGroupMembers +} + +func (m *_Group) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_Group) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Group) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Group) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Group) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastGroup(structType any) Group { + if casted, ok := structType.(Group); ok { + return casted + } + if casted, ok := structType.(*Group); ok { + return *casted + } + return nil +} + +func (m *_Group) GetTypeName() string { + return "Group" +} + +func (m *_Group) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (listOfGroupMembers) + lengthInBits += m.ListOfGroupMembers.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Group) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func GroupParse(ctx context.Context, theBytes []byte) (Group, error) { + return GroupParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func GroupParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Group, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Group, error) { + return GroupParseWithBuffer(ctx, readBuffer) + } +} + +func GroupParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Group, error) { + v, err := (&_Group{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Group) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__group Group, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Group"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Group") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + listOfGroupMembers, err := ReadSimpleField[ReadableProperty](ctx, "listOfGroupMembers", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of ReadAccessSpecification")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'listOfGroupMembers' field")) + } + m.ListOfGroupMembers = listOfGroupMembers + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of ReadAccessResult")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Group"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Group") + } + + return m, nil +} + +func (m *_Group) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Group) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Group"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Group") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "listOfGroupMembers", m.GetListOfGroupMembers(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'listOfGroupMembers' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Group"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Group") + } + return nil +} + +func (m *_Group) IsGroup() {} + +func (m *_Group) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Group) deepCopy() *_Group { + if m == nil { + return nil + } + _GroupCopy := &_Group{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.ListOfGroupMembers.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _GroupCopy +} + +func (m *_Group) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/IntegerValue.go b/plc4go/protocols/bacnetip/readwrite/model/IntegerValue.go new file mode 100644 index 00000000000..38f8a3542c3 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/IntegerValue.go @@ -0,0 +1,2536 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// IntegerValue is the corresponding interface of IntegerValue +type IntegerValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetUnits returns Units (property field) + GetUnits() ReadableProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetCOVIncrement returns COVIncrement (property field) + GetCOVIncrement() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetHighLimit returns HighLimit (property field) + GetHighLimit() OptionalProperty + // GetLowLimit returns LowLimit (property field) + GetLowLimit() OptionalProperty + // GetDeadband returns Deadband (property field) + GetDeadband() OptionalProperty + // GetLimitEnable returns LimitEnable (property field) + GetLimitEnable() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetMinPresValue returns MinPresValue (property field) + GetMinPresValue() OptionalProperty + // GetMaxPresValue returns MaxPresValue (property field) + GetMaxPresValue() OptionalProperty + // GetResolution returns Resolution (property field) + GetResolution() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetFaultHighLimit returns FaultHighLimit (property field) + GetFaultHighLimit() OptionalProperty + // GetFaultLowLimit returns FaultLowLimit (property field) + GetFaultLowLimit() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsIntegerValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsIntegerValue() + // CreateBuilder creates a IntegerValueBuilder + CreateIntegerValueBuilder() IntegerValueBuilder +} + +// _IntegerValue is the data-structure of this message +type _IntegerValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + Units ReadableProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + COVIncrement OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + HighLimit OptionalProperty + LowLimit OptionalProperty + Deadband OptionalProperty + LimitEnable OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + MinPresValue OptionalProperty + MaxPresValue OptionalProperty + Resolution OptionalProperty + PropertyList ReadableProperty + FaultHighLimit OptionalProperty + FaultLowLimit OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ IntegerValue = (*_IntegerValue)(nil) + +// NewIntegerValue factory function for _IntegerValue +func NewIntegerValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_IntegerValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for IntegerValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for IntegerValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for IntegerValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for IntegerValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for IntegerValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for IntegerValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for IntegerValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for IntegerValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for IntegerValue must not be nil") + } + if units == nil { + panic("units of type ReadableProperty for IntegerValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for IntegerValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for IntegerValue must not be nil") + } + if cOVIncrement == nil { + panic("cOVIncrement of type OptionalProperty for IntegerValue must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for IntegerValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for IntegerValue must not be nil") + } + if highLimit == nil { + panic("highLimit of type OptionalProperty for IntegerValue must not be nil") + } + if lowLimit == nil { + panic("lowLimit of type OptionalProperty for IntegerValue must not be nil") + } + if deadband == nil { + panic("deadband of type OptionalProperty for IntegerValue must not be nil") + } + if limitEnable == nil { + panic("limitEnable of type OptionalProperty for IntegerValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for IntegerValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for IntegerValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for IntegerValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for IntegerValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for IntegerValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for IntegerValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for IntegerValue must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for IntegerValue must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for IntegerValue must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for IntegerValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for IntegerValue must not be nil") + } + if minPresValue == nil { + panic("minPresValue of type OptionalProperty for IntegerValue must not be nil") + } + if maxPresValue == nil { + panic("maxPresValue of type OptionalProperty for IntegerValue must not be nil") + } + if resolution == nil { + panic("resolution of type OptionalProperty for IntegerValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for IntegerValue must not be nil") + } + if faultHighLimit == nil { + panic("faultHighLimit of type OptionalProperty for IntegerValue must not be nil") + } + if faultLowLimit == nil { + panic("faultLowLimit of type OptionalProperty for IntegerValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for IntegerValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for IntegerValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for IntegerValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for IntegerValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for IntegerValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for IntegerValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for IntegerValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for IntegerValue must not be nil") + } + return &_IntegerValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Units: units, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, COVIncrement: cOVIncrement, TimeDelay: timeDelay, NotificationClass: notificationClass, HighLimit: highLimit, LowLimit: lowLimit, Deadband: deadband, LimitEnable: limitEnable, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, MinPresValue: minPresValue, MaxPresValue: maxPresValue, Resolution: resolution, PropertyList: propertyList, FaultHighLimit: faultHighLimit, FaultLowLimit: faultLowLimit, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// IntegerValueBuilder is a builder for IntegerValue +type IntegerValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) IntegerValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) IntegerValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) IntegerValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) IntegerValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) IntegerValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) IntegerValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) IntegerValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) IntegerValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) IntegerValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) IntegerValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithUnits adds Units (property field) + WithUnits(ReadableProperty) IntegerValueBuilder + // WithUnitsBuilder adds Units (property field) which is build by the builder + WithUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) IntegerValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) IntegerValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithCOVIncrement adds COVIncrement (property field) + WithCOVIncrement(OptionalProperty) IntegerValueBuilder + // WithCOVIncrementBuilder adds COVIncrement (property field) which is build by the builder + WithCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) IntegerValueBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) IntegerValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithHighLimit adds HighLimit (property field) + WithHighLimit(OptionalProperty) IntegerValueBuilder + // WithHighLimitBuilder adds HighLimit (property field) which is build by the builder + WithHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithLowLimit adds LowLimit (property field) + WithLowLimit(OptionalProperty) IntegerValueBuilder + // WithLowLimitBuilder adds LowLimit (property field) which is build by the builder + WithLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithDeadband adds Deadband (property field) + WithDeadband(OptionalProperty) IntegerValueBuilder + // WithDeadbandBuilder adds Deadband (property field) which is build by the builder + WithDeadbandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithLimitEnable adds LimitEnable (property field) + WithLimitEnable(OptionalProperty) IntegerValueBuilder + // WithLimitEnableBuilder adds LimitEnable (property field) which is build by the builder + WithLimitEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) IntegerValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) IntegerValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) IntegerValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) IntegerValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) IntegerValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) IntegerValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) IntegerValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) IntegerValueBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) IntegerValueBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) IntegerValueBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) IntegerValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithMinPresValue adds MinPresValue (property field) + WithMinPresValue(OptionalProperty) IntegerValueBuilder + // WithMinPresValueBuilder adds MinPresValue (property field) which is build by the builder + WithMinPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithMaxPresValue adds MaxPresValue (property field) + WithMaxPresValue(OptionalProperty) IntegerValueBuilder + // WithMaxPresValueBuilder adds MaxPresValue (property field) which is build by the builder + WithMaxPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithResolution adds Resolution (property field) + WithResolution(OptionalProperty) IntegerValueBuilder + // WithResolutionBuilder adds Resolution (property field) which is build by the builder + WithResolutionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) IntegerValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder + // WithFaultHighLimit adds FaultHighLimit (property field) + WithFaultHighLimit(OptionalProperty) IntegerValueBuilder + // WithFaultHighLimitBuilder adds FaultHighLimit (property field) which is build by the builder + WithFaultHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithFaultLowLimit adds FaultLowLimit (property field) + WithFaultLowLimit(OptionalProperty) IntegerValueBuilder + // WithFaultLowLimitBuilder adds FaultLowLimit (property field) which is build by the builder + WithFaultLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) IntegerValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) IntegerValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) IntegerValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) IntegerValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) IntegerValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) IntegerValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) IntegerValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) IntegerValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder + // Build builds the IntegerValue or returns an error if something is wrong + Build() (IntegerValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() IntegerValue +} + +// NewIntegerValueBuilder() creates a IntegerValueBuilder +func NewIntegerValueBuilder() IntegerValueBuilder { + return &_IntegerValueBuilder{_IntegerValue: new(_IntegerValue)} +} + +type _IntegerValueBuilder struct { + *_IntegerValue + + err *utils.MultiError +} + +var _ (IntegerValueBuilder) = (*_IntegerValueBuilder)(nil) + +func (b *_IntegerValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) IntegerValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithUnits(units).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithCOVIncrement(cOVIncrement).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithHighLimit(highLimit).WithLowLimit(lowLimit).WithDeadband(deadband).WithLimitEnable(limitEnable).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithMinPresValue(minPresValue).WithMaxPresValue(maxPresValue).WithResolution(resolution).WithPropertyList(propertyList).WithFaultHighLimit(faultHighLimit).WithFaultLowLimit(faultLowLimit).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_IntegerValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) IntegerValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_IntegerValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithObjectName(objectName ReadableProperty) IntegerValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_IntegerValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithObjectType(objectType ReadableProperty) IntegerValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_IntegerValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithDescription(description OptionalProperty) IntegerValueBuilder { + b.Description = description + return b +} + +func (b *_IntegerValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithPresentValue(presentValue ReadableProperty) IntegerValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_IntegerValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithStatusFlags(statusFlags ReadableProperty) IntegerValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_IntegerValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithEventState(eventState OptionalProperty) IntegerValueBuilder { + b.EventState = eventState + return b +} + +func (b *_IntegerValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithReliability(reliability OptionalProperty) IntegerValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_IntegerValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithOutOfService(outOfService OptionalProperty) IntegerValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_IntegerValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithUnits(units ReadableProperty) IntegerValueBuilder { + b.Units = units + return b +} + +func (b *_IntegerValueBuilder) WithUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.Units.CreateReadablePropertyBuilder()) + var err error + b.Units, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithPriorityArray(priorityArray OptionalProperty) IntegerValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_IntegerValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) IntegerValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_IntegerValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithCOVIncrement(cOVIncrement OptionalProperty) IntegerValueBuilder { + b.COVIncrement = cOVIncrement + return b +} + +func (b *_IntegerValueBuilder) WithCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.COVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.COVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithTimeDelay(timeDelay OptionalProperty) IntegerValueBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_IntegerValueBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithNotificationClass(notificationClass OptionalProperty) IntegerValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_IntegerValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithHighLimit(highLimit OptionalProperty) IntegerValueBuilder { + b.HighLimit = highLimit + return b +} + +func (b *_IntegerValueBuilder) WithHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.HighLimit.CreateOptionalPropertyBuilder()) + var err error + b.HighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithLowLimit(lowLimit OptionalProperty) IntegerValueBuilder { + b.LowLimit = lowLimit + return b +} + +func (b *_IntegerValueBuilder) WithLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.LowLimit.CreateOptionalPropertyBuilder()) + var err error + b.LowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithDeadband(deadband OptionalProperty) IntegerValueBuilder { + b.Deadband = deadband + return b +} + +func (b *_IntegerValueBuilder) WithDeadbandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.Deadband.CreateOptionalPropertyBuilder()) + var err error + b.Deadband, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithLimitEnable(limitEnable OptionalProperty) IntegerValueBuilder { + b.LimitEnable = limitEnable + return b +} + +func (b *_IntegerValueBuilder) WithLimitEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.LimitEnable.CreateOptionalPropertyBuilder()) + var err error + b.LimitEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithEventEnable(eventEnable OptionalProperty) IntegerValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_IntegerValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) IntegerValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_IntegerValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithNotifyType(notifyType OptionalProperty) IntegerValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_IntegerValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) IntegerValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_IntegerValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) IntegerValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_IntegerValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) IntegerValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_IntegerValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) IntegerValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_IntegerValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) IntegerValueBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_IntegerValueBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) IntegerValueBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_IntegerValueBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) IntegerValueBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_IntegerValueBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) IntegerValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_IntegerValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithMinPresValue(minPresValue OptionalProperty) IntegerValueBuilder { + b.MinPresValue = minPresValue + return b +} + +func (b *_IntegerValueBuilder) WithMinPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.MinPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MinPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithMaxPresValue(maxPresValue OptionalProperty) IntegerValueBuilder { + b.MaxPresValue = maxPresValue + return b +} + +func (b *_IntegerValueBuilder) WithMaxPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.MaxPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MaxPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithResolution(resolution OptionalProperty) IntegerValueBuilder { + b.Resolution = resolution + return b +} + +func (b *_IntegerValueBuilder) WithResolutionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.Resolution.CreateOptionalPropertyBuilder()) + var err error + b.Resolution, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithPropertyList(propertyList ReadableProperty) IntegerValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_IntegerValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithFaultHighLimit(faultHighLimit OptionalProperty) IntegerValueBuilder { + b.FaultHighLimit = faultHighLimit + return b +} + +func (b *_IntegerValueBuilder) WithFaultHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.FaultHighLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultHighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithFaultLowLimit(faultLowLimit OptionalProperty) IntegerValueBuilder { + b.FaultLowLimit = faultLowLimit + return b +} + +func (b *_IntegerValueBuilder) WithFaultLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.FaultLowLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultLowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) IntegerValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_IntegerValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithValueSource(valueSource OptionalProperty) IntegerValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_IntegerValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) IntegerValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_IntegerValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) IntegerValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_IntegerValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) IntegerValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_IntegerValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithTags(tags OptionalProperty) IntegerValueBuilder { + b.Tags = tags + return b +} + +func (b *_IntegerValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithProfileLocation(profileLocation OptionalProperty) IntegerValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_IntegerValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) WithProfileName(profileName OptionalProperty) IntegerValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_IntegerValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) IntegerValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_IntegerValueBuilder) Build() (IntegerValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Units == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'units' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.COVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVIncrement' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.HighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'highLimit' not set")) + } + if b.LowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowLimit' not set")) + } + if b.Deadband == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deadband' not set")) + } + if b.LimitEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'limitEnable' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.MinPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minPresValue' not set")) + } + if b.MaxPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxPresValue' not set")) + } + if b.Resolution == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'resolution' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.FaultHighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultHighLimit' not set")) + } + if b.FaultLowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultLowLimit' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._IntegerValue.deepCopy(), nil +} + +func (b *_IntegerValueBuilder) MustBuild() IntegerValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_IntegerValueBuilder) DeepCopy() any { + _copy := b.CreateIntegerValueBuilder().(*_IntegerValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateIntegerValueBuilder creates a IntegerValueBuilder +func (b *_IntegerValue) CreateIntegerValueBuilder() IntegerValueBuilder { + if b == nil { + return NewIntegerValueBuilder() + } + return &_IntegerValueBuilder{_IntegerValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_IntegerValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_IntegerValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_IntegerValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_IntegerValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_IntegerValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_IntegerValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_IntegerValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_IntegerValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_IntegerValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_IntegerValue) GetUnits() ReadableProperty { + return m.Units +} + +func (m *_IntegerValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_IntegerValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_IntegerValue) GetCOVIncrement() OptionalProperty { + return m.COVIncrement +} + +func (m *_IntegerValue) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_IntegerValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_IntegerValue) GetHighLimit() OptionalProperty { + return m.HighLimit +} + +func (m *_IntegerValue) GetLowLimit() OptionalProperty { + return m.LowLimit +} + +func (m *_IntegerValue) GetDeadband() OptionalProperty { + return m.Deadband +} + +func (m *_IntegerValue) GetLimitEnable() OptionalProperty { + return m.LimitEnable +} + +func (m *_IntegerValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_IntegerValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_IntegerValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_IntegerValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_IntegerValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_IntegerValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_IntegerValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_IntegerValue) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_IntegerValue) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_IntegerValue) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_IntegerValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_IntegerValue) GetMinPresValue() OptionalProperty { + return m.MinPresValue +} + +func (m *_IntegerValue) GetMaxPresValue() OptionalProperty { + return m.MaxPresValue +} + +func (m *_IntegerValue) GetResolution() OptionalProperty { + return m.Resolution +} + +func (m *_IntegerValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_IntegerValue) GetFaultHighLimit() OptionalProperty { + return m.FaultHighLimit +} + +func (m *_IntegerValue) GetFaultLowLimit() OptionalProperty { + return m.FaultLowLimit +} + +func (m *_IntegerValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_IntegerValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_IntegerValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_IntegerValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_IntegerValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_IntegerValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_IntegerValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_IntegerValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastIntegerValue(structType any) IntegerValue { + if casted, ok := structType.(IntegerValue); ok { + return casted + } + if casted, ok := structType.(*IntegerValue); ok { + return *casted + } + return nil +} + +func (m *_IntegerValue) GetTypeName() string { + return "IntegerValue" +} + +func (m *_IntegerValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (units) + lengthInBits += m.Units.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (cOVIncrement) + lengthInBits += m.COVIncrement.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (highLimit) + lengthInBits += m.HighLimit.GetLengthInBits(ctx) + + // Simple field (lowLimit) + lengthInBits += m.LowLimit.GetLengthInBits(ctx) + + // Simple field (deadband) + lengthInBits += m.Deadband.GetLengthInBits(ctx) + + // Simple field (limitEnable) + lengthInBits += m.LimitEnable.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (minPresValue) + lengthInBits += m.MinPresValue.GetLengthInBits(ctx) + + // Simple field (maxPresValue) + lengthInBits += m.MaxPresValue.GetLengthInBits(ctx) + + // Simple field (resolution) + lengthInBits += m.Resolution.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (faultHighLimit) + lengthInBits += m.FaultHighLimit.GetLengthInBits(ctx) + + // Simple field (faultLowLimit) + lengthInBits += m.FaultLowLimit.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_IntegerValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func IntegerValueParse(ctx context.Context, theBytes []byte) (IntegerValue, error) { + return IntegerValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func IntegerValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (IntegerValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (IntegerValue, error) { + return IntegerValueParseWithBuffer(ctx, readBuffer) + } +} + +func IntegerValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (IntegerValue, error) { + v, err := (&_IntegerValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_IntegerValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__integerValue IntegerValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("IntegerValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for IntegerValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + units, err := ReadSimpleField[ReadableProperty](ctx, "units", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'units' field")) + } + m.Units = units + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + cOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "cOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVIncrement' field")) + } + m.COVIncrement = cOVIncrement + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + highLimit, err := ReadSimpleField[OptionalProperty](ctx, "highLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'highLimit' field")) + } + m.HighLimit = highLimit + + lowLimit, err := ReadSimpleField[OptionalProperty](ctx, "lowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowLimit' field")) + } + m.LowLimit = lowLimit + + deadband, err := ReadSimpleField[OptionalProperty](ctx, "deadband", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deadband' field")) + } + m.Deadband = deadband + + limitEnable, err := ReadSimpleField[OptionalProperty](ctx, "limitEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLimitEnable")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'limitEnable' field")) + } + m.LimitEnable = limitEnable + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + minPresValue, err := ReadSimpleField[OptionalProperty](ctx, "minPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minPresValue' field")) + } + m.MinPresValue = minPresValue + + maxPresValue, err := ReadSimpleField[OptionalProperty](ctx, "maxPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxPresValue' field")) + } + m.MaxPresValue = maxPresValue + + resolution, err := ReadSimpleField[OptionalProperty](ctx, "resolution", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'resolution' field")) + } + m.Resolution = resolution + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + faultHighLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultHighLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultHighLimit' field")) + } + m.FaultHighLimit = faultHighLimit + + faultLowLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultLowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("INTEGER")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultLowLimit' field")) + } + m.FaultLowLimit = faultLowLimit + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("IntegerValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for IntegerValue") + } + + return m, nil +} + +func (m *_IntegerValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_IntegerValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("IntegerValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for IntegerValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "units", m.GetUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'units' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVIncrement", m.GetCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "highLimit", m.GetHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'highLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowLimit", m.GetLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deadband", m.GetDeadband(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deadband' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "limitEnable", m.GetLimitEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'limitEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minPresValue", m.GetMinPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxPresValue", m.GetMaxPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "resolution", m.GetResolution(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'resolution' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultHighLimit", m.GetFaultHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultHighLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultLowLimit", m.GetFaultLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultLowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("IntegerValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for IntegerValue") + } + return nil +} + +func (m *_IntegerValue) IsIntegerValue() {} + +func (m *_IntegerValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_IntegerValue) deepCopy() *_IntegerValue { + if m == nil { + return nil + } + _IntegerValueCopy := &_IntegerValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.Units.DeepCopy().(ReadableProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.COVIncrement.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.HighLimit.DeepCopy().(OptionalProperty), + m.LowLimit.DeepCopy().(OptionalProperty), + m.Deadband.DeepCopy().(OptionalProperty), + m.LimitEnable.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.MinPresValue.DeepCopy().(OptionalProperty), + m.MaxPresValue.DeepCopy().(OptionalProperty), + m.Resolution.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.FaultHighLimit.DeepCopy().(OptionalProperty), + m.FaultLowLimit.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _IntegerValueCopy +} + +func (m *_IntegerValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/LargeAnalogValue.go b/plc4go/protocols/bacnetip/readwrite/model/LargeAnalogValue.go new file mode 100644 index 00000000000..7b29b23432d --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/LargeAnalogValue.go @@ -0,0 +1,2536 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// LargeAnalogValue is the corresponding interface of LargeAnalogValue +type LargeAnalogValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetUnits returns Units (property field) + GetUnits() ReadableProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetCOVIncrement returns COVIncrement (property field) + GetCOVIncrement() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetHighLimit returns HighLimit (property field) + GetHighLimit() OptionalProperty + // GetLowLimit returns LowLimit (property field) + GetLowLimit() OptionalProperty + // GetDeadband returns Deadband (property field) + GetDeadband() OptionalProperty + // GetLimitEnable returns LimitEnable (property field) + GetLimitEnable() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetMinPresValue returns MinPresValue (property field) + GetMinPresValue() OptionalProperty + // GetMaxPresValue returns MaxPresValue (property field) + GetMaxPresValue() OptionalProperty + // GetResolution returns Resolution (property field) + GetResolution() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetFaultHighLimit returns FaultHighLimit (property field) + GetFaultHighLimit() OptionalProperty + // GetFaultLowLimit returns FaultLowLimit (property field) + GetFaultLowLimit() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsLargeAnalogValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsLargeAnalogValue() + // CreateBuilder creates a LargeAnalogValueBuilder + CreateLargeAnalogValueBuilder() LargeAnalogValueBuilder +} + +// _LargeAnalogValue is the data-structure of this message +type _LargeAnalogValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + Units ReadableProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + COVIncrement OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + HighLimit OptionalProperty + LowLimit OptionalProperty + Deadband OptionalProperty + LimitEnable OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + MinPresValue OptionalProperty + MaxPresValue OptionalProperty + Resolution OptionalProperty + PropertyList ReadableProperty + FaultHighLimit OptionalProperty + FaultLowLimit OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ LargeAnalogValue = (*_LargeAnalogValue)(nil) + +// NewLargeAnalogValue factory function for _LargeAnalogValue +func NewLargeAnalogValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_LargeAnalogValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for LargeAnalogValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for LargeAnalogValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for LargeAnalogValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for LargeAnalogValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for LargeAnalogValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for LargeAnalogValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for LargeAnalogValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for LargeAnalogValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for LargeAnalogValue must not be nil") + } + if units == nil { + panic("units of type ReadableProperty for LargeAnalogValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for LargeAnalogValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for LargeAnalogValue must not be nil") + } + if cOVIncrement == nil { + panic("cOVIncrement of type OptionalProperty for LargeAnalogValue must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for LargeAnalogValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for LargeAnalogValue must not be nil") + } + if highLimit == nil { + panic("highLimit of type OptionalProperty for LargeAnalogValue must not be nil") + } + if lowLimit == nil { + panic("lowLimit of type OptionalProperty for LargeAnalogValue must not be nil") + } + if deadband == nil { + panic("deadband of type OptionalProperty for LargeAnalogValue must not be nil") + } + if limitEnable == nil { + panic("limitEnable of type OptionalProperty for LargeAnalogValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for LargeAnalogValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for LargeAnalogValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for LargeAnalogValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for LargeAnalogValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for LargeAnalogValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for LargeAnalogValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for LargeAnalogValue must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for LargeAnalogValue must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for LargeAnalogValue must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for LargeAnalogValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for LargeAnalogValue must not be nil") + } + if minPresValue == nil { + panic("minPresValue of type OptionalProperty for LargeAnalogValue must not be nil") + } + if maxPresValue == nil { + panic("maxPresValue of type OptionalProperty for LargeAnalogValue must not be nil") + } + if resolution == nil { + panic("resolution of type OptionalProperty for LargeAnalogValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for LargeAnalogValue must not be nil") + } + if faultHighLimit == nil { + panic("faultHighLimit of type OptionalProperty for LargeAnalogValue must not be nil") + } + if faultLowLimit == nil { + panic("faultLowLimit of type OptionalProperty for LargeAnalogValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for LargeAnalogValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for LargeAnalogValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for LargeAnalogValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for LargeAnalogValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for LargeAnalogValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for LargeAnalogValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for LargeAnalogValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for LargeAnalogValue must not be nil") + } + return &_LargeAnalogValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Units: units, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, COVIncrement: cOVIncrement, TimeDelay: timeDelay, NotificationClass: notificationClass, HighLimit: highLimit, LowLimit: lowLimit, Deadband: deadband, LimitEnable: limitEnable, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, MinPresValue: minPresValue, MaxPresValue: maxPresValue, Resolution: resolution, PropertyList: propertyList, FaultHighLimit: faultHighLimit, FaultLowLimit: faultLowLimit, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// LargeAnalogValueBuilder is a builder for LargeAnalogValue +type LargeAnalogValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LargeAnalogValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) LargeAnalogValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) LargeAnalogValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) LargeAnalogValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) LargeAnalogValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) LargeAnalogValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) LargeAnalogValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) LargeAnalogValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) LargeAnalogValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) LargeAnalogValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithUnits adds Units (property field) + WithUnits(ReadableProperty) LargeAnalogValueBuilder + // WithUnitsBuilder adds Units (property field) which is build by the builder + WithUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) LargeAnalogValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) LargeAnalogValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithCOVIncrement adds COVIncrement (property field) + WithCOVIncrement(OptionalProperty) LargeAnalogValueBuilder + // WithCOVIncrementBuilder adds COVIncrement (property field) which is build by the builder + WithCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) LargeAnalogValueBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) LargeAnalogValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithHighLimit adds HighLimit (property field) + WithHighLimit(OptionalProperty) LargeAnalogValueBuilder + // WithHighLimitBuilder adds HighLimit (property field) which is build by the builder + WithHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithLowLimit adds LowLimit (property field) + WithLowLimit(OptionalProperty) LargeAnalogValueBuilder + // WithLowLimitBuilder adds LowLimit (property field) which is build by the builder + WithLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithDeadband adds Deadband (property field) + WithDeadband(OptionalProperty) LargeAnalogValueBuilder + // WithDeadbandBuilder adds Deadband (property field) which is build by the builder + WithDeadbandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithLimitEnable adds LimitEnable (property field) + WithLimitEnable(OptionalProperty) LargeAnalogValueBuilder + // WithLimitEnableBuilder adds LimitEnable (property field) which is build by the builder + WithLimitEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) LargeAnalogValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) LargeAnalogValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) LargeAnalogValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) LargeAnalogValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) LargeAnalogValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) LargeAnalogValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) LargeAnalogValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) LargeAnalogValueBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) LargeAnalogValueBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) LargeAnalogValueBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) LargeAnalogValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithMinPresValue adds MinPresValue (property field) + WithMinPresValue(OptionalProperty) LargeAnalogValueBuilder + // WithMinPresValueBuilder adds MinPresValue (property field) which is build by the builder + WithMinPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithMaxPresValue adds MaxPresValue (property field) + WithMaxPresValue(OptionalProperty) LargeAnalogValueBuilder + // WithMaxPresValueBuilder adds MaxPresValue (property field) which is build by the builder + WithMaxPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithResolution adds Resolution (property field) + WithResolution(OptionalProperty) LargeAnalogValueBuilder + // WithResolutionBuilder adds Resolution (property field) which is build by the builder + WithResolutionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) LargeAnalogValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder + // WithFaultHighLimit adds FaultHighLimit (property field) + WithFaultHighLimit(OptionalProperty) LargeAnalogValueBuilder + // WithFaultHighLimitBuilder adds FaultHighLimit (property field) which is build by the builder + WithFaultHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithFaultLowLimit adds FaultLowLimit (property field) + WithFaultLowLimit(OptionalProperty) LargeAnalogValueBuilder + // WithFaultLowLimitBuilder adds FaultLowLimit (property field) which is build by the builder + WithFaultLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) LargeAnalogValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) LargeAnalogValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) LargeAnalogValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) LargeAnalogValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) LargeAnalogValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) LargeAnalogValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) LargeAnalogValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) LargeAnalogValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder + // Build builds the LargeAnalogValue or returns an error if something is wrong + Build() (LargeAnalogValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() LargeAnalogValue +} + +// NewLargeAnalogValueBuilder() creates a LargeAnalogValueBuilder +func NewLargeAnalogValueBuilder() LargeAnalogValueBuilder { + return &_LargeAnalogValueBuilder{_LargeAnalogValue: new(_LargeAnalogValue)} +} + +type _LargeAnalogValueBuilder struct { + *_LargeAnalogValue + + err *utils.MultiError +} + +var _ (LargeAnalogValueBuilder) = (*_LargeAnalogValueBuilder)(nil) + +func (b *_LargeAnalogValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LargeAnalogValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithUnits(units).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithCOVIncrement(cOVIncrement).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithHighLimit(highLimit).WithLowLimit(lowLimit).WithDeadband(deadband).WithLimitEnable(limitEnable).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithMinPresValue(minPresValue).WithMaxPresValue(maxPresValue).WithResolution(resolution).WithPropertyList(propertyList).WithFaultHighLimit(faultHighLimit).WithFaultLowLimit(faultLowLimit).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_LargeAnalogValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) LargeAnalogValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_LargeAnalogValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithObjectName(objectName ReadableProperty) LargeAnalogValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_LargeAnalogValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithObjectType(objectType ReadableProperty) LargeAnalogValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_LargeAnalogValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithDescription(description OptionalProperty) LargeAnalogValueBuilder { + b.Description = description + return b +} + +func (b *_LargeAnalogValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithPresentValue(presentValue ReadableProperty) LargeAnalogValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_LargeAnalogValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithStatusFlags(statusFlags ReadableProperty) LargeAnalogValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_LargeAnalogValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventState(eventState OptionalProperty) LargeAnalogValueBuilder { + b.EventState = eventState + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithReliability(reliability OptionalProperty) LargeAnalogValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_LargeAnalogValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithOutOfService(outOfService OptionalProperty) LargeAnalogValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_LargeAnalogValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithUnits(units ReadableProperty) LargeAnalogValueBuilder { + b.Units = units + return b +} + +func (b *_LargeAnalogValueBuilder) WithUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.Units.CreateReadablePropertyBuilder()) + var err error + b.Units, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithPriorityArray(priorityArray OptionalProperty) LargeAnalogValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_LargeAnalogValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) LargeAnalogValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_LargeAnalogValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithCOVIncrement(cOVIncrement OptionalProperty) LargeAnalogValueBuilder { + b.COVIncrement = cOVIncrement + return b +} + +func (b *_LargeAnalogValueBuilder) WithCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.COVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.COVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithTimeDelay(timeDelay OptionalProperty) LargeAnalogValueBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_LargeAnalogValueBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithNotificationClass(notificationClass OptionalProperty) LargeAnalogValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_LargeAnalogValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithHighLimit(highLimit OptionalProperty) LargeAnalogValueBuilder { + b.HighLimit = highLimit + return b +} + +func (b *_LargeAnalogValueBuilder) WithHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.HighLimit.CreateOptionalPropertyBuilder()) + var err error + b.HighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithLowLimit(lowLimit OptionalProperty) LargeAnalogValueBuilder { + b.LowLimit = lowLimit + return b +} + +func (b *_LargeAnalogValueBuilder) WithLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.LowLimit.CreateOptionalPropertyBuilder()) + var err error + b.LowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithDeadband(deadband OptionalProperty) LargeAnalogValueBuilder { + b.Deadband = deadband + return b +} + +func (b *_LargeAnalogValueBuilder) WithDeadbandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.Deadband.CreateOptionalPropertyBuilder()) + var err error + b.Deadband, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithLimitEnable(limitEnable OptionalProperty) LargeAnalogValueBuilder { + b.LimitEnable = limitEnable + return b +} + +func (b *_LargeAnalogValueBuilder) WithLimitEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.LimitEnable.CreateOptionalPropertyBuilder()) + var err error + b.LimitEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventEnable(eventEnable OptionalProperty) LargeAnalogValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) LargeAnalogValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_LargeAnalogValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithNotifyType(notifyType OptionalProperty) LargeAnalogValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_LargeAnalogValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) LargeAnalogValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) LargeAnalogValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) LargeAnalogValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) LargeAnalogValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) LargeAnalogValueBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) LargeAnalogValueBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_LargeAnalogValueBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) LargeAnalogValueBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_LargeAnalogValueBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) LargeAnalogValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_LargeAnalogValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithMinPresValue(minPresValue OptionalProperty) LargeAnalogValueBuilder { + b.MinPresValue = minPresValue + return b +} + +func (b *_LargeAnalogValueBuilder) WithMinPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.MinPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MinPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithMaxPresValue(maxPresValue OptionalProperty) LargeAnalogValueBuilder { + b.MaxPresValue = maxPresValue + return b +} + +func (b *_LargeAnalogValueBuilder) WithMaxPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.MaxPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MaxPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithResolution(resolution OptionalProperty) LargeAnalogValueBuilder { + b.Resolution = resolution + return b +} + +func (b *_LargeAnalogValueBuilder) WithResolutionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.Resolution.CreateOptionalPropertyBuilder()) + var err error + b.Resolution, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithPropertyList(propertyList ReadableProperty) LargeAnalogValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_LargeAnalogValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithFaultHighLimit(faultHighLimit OptionalProperty) LargeAnalogValueBuilder { + b.FaultHighLimit = faultHighLimit + return b +} + +func (b *_LargeAnalogValueBuilder) WithFaultHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.FaultHighLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultHighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithFaultLowLimit(faultLowLimit OptionalProperty) LargeAnalogValueBuilder { + b.FaultLowLimit = faultLowLimit + return b +} + +func (b *_LargeAnalogValueBuilder) WithFaultLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.FaultLowLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultLowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) LargeAnalogValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_LargeAnalogValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithValueSource(valueSource OptionalProperty) LargeAnalogValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_LargeAnalogValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) LargeAnalogValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_LargeAnalogValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) LargeAnalogValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_LargeAnalogValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) LargeAnalogValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_LargeAnalogValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithTags(tags OptionalProperty) LargeAnalogValueBuilder { + b.Tags = tags + return b +} + +func (b *_LargeAnalogValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithProfileLocation(profileLocation OptionalProperty) LargeAnalogValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_LargeAnalogValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) WithProfileName(profileName OptionalProperty) LargeAnalogValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_LargeAnalogValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LargeAnalogValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LargeAnalogValueBuilder) Build() (LargeAnalogValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Units == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'units' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.COVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVIncrement' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.HighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'highLimit' not set")) + } + if b.LowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowLimit' not set")) + } + if b.Deadband == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deadband' not set")) + } + if b.LimitEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'limitEnable' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.MinPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minPresValue' not set")) + } + if b.MaxPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxPresValue' not set")) + } + if b.Resolution == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'resolution' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.FaultHighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultHighLimit' not set")) + } + if b.FaultLowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultLowLimit' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._LargeAnalogValue.deepCopy(), nil +} + +func (b *_LargeAnalogValueBuilder) MustBuild() LargeAnalogValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_LargeAnalogValueBuilder) DeepCopy() any { + _copy := b.CreateLargeAnalogValueBuilder().(*_LargeAnalogValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateLargeAnalogValueBuilder creates a LargeAnalogValueBuilder +func (b *_LargeAnalogValue) CreateLargeAnalogValueBuilder() LargeAnalogValueBuilder { + if b == nil { + return NewLargeAnalogValueBuilder() + } + return &_LargeAnalogValueBuilder{_LargeAnalogValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_LargeAnalogValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_LargeAnalogValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_LargeAnalogValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_LargeAnalogValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_LargeAnalogValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_LargeAnalogValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_LargeAnalogValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_LargeAnalogValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_LargeAnalogValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_LargeAnalogValue) GetUnits() ReadableProperty { + return m.Units +} + +func (m *_LargeAnalogValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_LargeAnalogValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_LargeAnalogValue) GetCOVIncrement() OptionalProperty { + return m.COVIncrement +} + +func (m *_LargeAnalogValue) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_LargeAnalogValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_LargeAnalogValue) GetHighLimit() OptionalProperty { + return m.HighLimit +} + +func (m *_LargeAnalogValue) GetLowLimit() OptionalProperty { + return m.LowLimit +} + +func (m *_LargeAnalogValue) GetDeadband() OptionalProperty { + return m.Deadband +} + +func (m *_LargeAnalogValue) GetLimitEnable() OptionalProperty { + return m.LimitEnable +} + +func (m *_LargeAnalogValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_LargeAnalogValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_LargeAnalogValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_LargeAnalogValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_LargeAnalogValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_LargeAnalogValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_LargeAnalogValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_LargeAnalogValue) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_LargeAnalogValue) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_LargeAnalogValue) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_LargeAnalogValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_LargeAnalogValue) GetMinPresValue() OptionalProperty { + return m.MinPresValue +} + +func (m *_LargeAnalogValue) GetMaxPresValue() OptionalProperty { + return m.MaxPresValue +} + +func (m *_LargeAnalogValue) GetResolution() OptionalProperty { + return m.Resolution +} + +func (m *_LargeAnalogValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_LargeAnalogValue) GetFaultHighLimit() OptionalProperty { + return m.FaultHighLimit +} + +func (m *_LargeAnalogValue) GetFaultLowLimit() OptionalProperty { + return m.FaultLowLimit +} + +func (m *_LargeAnalogValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_LargeAnalogValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_LargeAnalogValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_LargeAnalogValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_LargeAnalogValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_LargeAnalogValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_LargeAnalogValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_LargeAnalogValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastLargeAnalogValue(structType any) LargeAnalogValue { + if casted, ok := structType.(LargeAnalogValue); ok { + return casted + } + if casted, ok := structType.(*LargeAnalogValue); ok { + return *casted + } + return nil +} + +func (m *_LargeAnalogValue) GetTypeName() string { + return "LargeAnalogValue" +} + +func (m *_LargeAnalogValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (units) + lengthInBits += m.Units.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (cOVIncrement) + lengthInBits += m.COVIncrement.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (highLimit) + lengthInBits += m.HighLimit.GetLengthInBits(ctx) + + // Simple field (lowLimit) + lengthInBits += m.LowLimit.GetLengthInBits(ctx) + + // Simple field (deadband) + lengthInBits += m.Deadband.GetLengthInBits(ctx) + + // Simple field (limitEnable) + lengthInBits += m.LimitEnable.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (minPresValue) + lengthInBits += m.MinPresValue.GetLengthInBits(ctx) + + // Simple field (maxPresValue) + lengthInBits += m.MaxPresValue.GetLengthInBits(ctx) + + // Simple field (resolution) + lengthInBits += m.Resolution.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (faultHighLimit) + lengthInBits += m.FaultHighLimit.GetLengthInBits(ctx) + + // Simple field (faultLowLimit) + lengthInBits += m.FaultLowLimit.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_LargeAnalogValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func LargeAnalogValueParse(ctx context.Context, theBytes []byte) (LargeAnalogValue, error) { + return LargeAnalogValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func LargeAnalogValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (LargeAnalogValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (LargeAnalogValue, error) { + return LargeAnalogValueParseWithBuffer(ctx, readBuffer) + } +} + +func LargeAnalogValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (LargeAnalogValue, error) { + v, err := (&_LargeAnalogValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_LargeAnalogValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__largeAnalogValue LargeAnalogValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("LargeAnalogValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for LargeAnalogValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + units, err := ReadSimpleField[ReadableProperty](ctx, "units", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'units' field")) + } + m.Units = units + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + cOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "cOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVIncrement' field")) + } + m.COVIncrement = cOVIncrement + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + highLimit, err := ReadSimpleField[OptionalProperty](ctx, "highLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'highLimit' field")) + } + m.HighLimit = highLimit + + lowLimit, err := ReadSimpleField[OptionalProperty](ctx, "lowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowLimit' field")) + } + m.LowLimit = lowLimit + + deadband, err := ReadSimpleField[OptionalProperty](ctx, "deadband", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deadband' field")) + } + m.Deadband = deadband + + limitEnable, err := ReadSimpleField[OptionalProperty](ctx, "limitEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLimitEnable")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'limitEnable' field")) + } + m.LimitEnable = limitEnable + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + minPresValue, err := ReadSimpleField[OptionalProperty](ctx, "minPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minPresValue' field")) + } + m.MinPresValue = minPresValue + + maxPresValue, err := ReadSimpleField[OptionalProperty](ctx, "maxPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxPresValue' field")) + } + m.MaxPresValue = maxPresValue + + resolution, err := ReadSimpleField[OptionalProperty](ctx, "resolution", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'resolution' field")) + } + m.Resolution = resolution + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + faultHighLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultHighLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultHighLimit' field")) + } + m.FaultHighLimit = faultHighLimit + + faultLowLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultLowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Double")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultLowLimit' field")) + } + m.FaultLowLimit = faultLowLimit + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("LargeAnalogValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for LargeAnalogValue") + } + + return m, nil +} + +func (m *_LargeAnalogValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_LargeAnalogValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("LargeAnalogValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for LargeAnalogValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "units", m.GetUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'units' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVIncrement", m.GetCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "highLimit", m.GetHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'highLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowLimit", m.GetLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deadband", m.GetDeadband(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deadband' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "limitEnable", m.GetLimitEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'limitEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minPresValue", m.GetMinPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxPresValue", m.GetMaxPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "resolution", m.GetResolution(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'resolution' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultHighLimit", m.GetFaultHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultHighLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultLowLimit", m.GetFaultLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultLowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("LargeAnalogValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for LargeAnalogValue") + } + return nil +} + +func (m *_LargeAnalogValue) IsLargeAnalogValue() {} + +func (m *_LargeAnalogValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_LargeAnalogValue) deepCopy() *_LargeAnalogValue { + if m == nil { + return nil + } + _LargeAnalogValueCopy := &_LargeAnalogValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.Units.DeepCopy().(ReadableProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.COVIncrement.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.HighLimit.DeepCopy().(OptionalProperty), + m.LowLimit.DeepCopy().(OptionalProperty), + m.Deadband.DeepCopy().(OptionalProperty), + m.LimitEnable.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.MinPresValue.DeepCopy().(OptionalProperty), + m.MaxPresValue.DeepCopy().(OptionalProperty), + m.Resolution.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.FaultHighLimit.DeepCopy().(OptionalProperty), + m.FaultLowLimit.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _LargeAnalogValueCopy +} + +func (m *_LargeAnalogValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/LifeSafetyPoint.go b/plc4go/protocols/bacnetip/readwrite/model/LifeSafetyPoint.go new file mode 100644 index 00000000000..fe28f17ab68 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/LifeSafetyPoint.go @@ -0,0 +1,2380 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// LifeSafetyPoint is the corresponding interface of LifeSafetyPoint +type LifeSafetyPoint interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetTrackingValue returns TrackingValue (property field) + GetTrackingValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetDeviceType returns DeviceType (property field) + GetDeviceType() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetMode returns Mode (property field) + GetMode() WritableProperty + // GetAcceptedModes returns AcceptedModes (property field) + GetAcceptedModes() ReadableProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetLifeSafetyAlarmValues returns LifeSafetyAlarmValues (property field) + GetLifeSafetyAlarmValues() OptionalProperty + // GetAlarmValues returns AlarmValues (property field) + GetAlarmValues() OptionalProperty + // GetFaultValues returns FaultValues (property field) + GetFaultValues() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetSilenced returns Silenced (property field) + GetSilenced() ReadableProperty + // GetOperationExpected returns OperationExpected (property field) + GetOperationExpected() ReadableProperty + // GetMaintenanceRequired returns MaintenanceRequired (property field) + GetMaintenanceRequired() OptionalProperty + // GetSetting returns Setting (property field) + GetSetting() OptionalProperty + // GetDirectReading returns DirectReading (property field) + GetDirectReading() OptionalProperty + // GetUnits returns Units (property field) + GetUnits() OptionalProperty + // GetMemberOf returns MemberOf (property field) + GetMemberOf() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsLifeSafetyPoint is a marker method to prevent unintentional type checks (interfaces of same signature) + IsLifeSafetyPoint() + // CreateBuilder creates a LifeSafetyPointBuilder + CreateLifeSafetyPointBuilder() LifeSafetyPointBuilder +} + +// _LifeSafetyPoint is the data-structure of this message +type _LifeSafetyPoint struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + TrackingValue ReadableProperty + Description OptionalProperty + DeviceType OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability ReadableProperty + OutOfService ReadableProperty + Mode WritableProperty + AcceptedModes ReadableProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + LifeSafetyAlarmValues OptionalProperty + AlarmValues OptionalProperty + FaultValues OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + Silenced ReadableProperty + OperationExpected ReadableProperty + MaintenanceRequired OptionalProperty + Setting OptionalProperty + DirectReading OptionalProperty + Units OptionalProperty + MemberOf OptionalProperty + PropertyList ReadableProperty + ValueSource OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ LifeSafetyPoint = (*_LifeSafetyPoint)(nil) + +// NewLifeSafetyPoint factory function for _LifeSafetyPoint +func NewLifeSafetyPoint(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, trackingValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, mode WritableProperty, acceptedModes ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, lifeSafetyAlarmValues OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, silenced ReadableProperty, operationExpected ReadableProperty, maintenanceRequired OptionalProperty, setting OptionalProperty, directReading OptionalProperty, units OptionalProperty, memberOf OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_LifeSafetyPoint { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if trackingValue == nil { + panic("trackingValue of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if deviceType == nil { + panic("deviceType of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if mode == nil { + panic("mode of type WritableProperty for LifeSafetyPoint must not be nil") + } + if acceptedModes == nil { + panic("acceptedModes of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if lifeSafetyAlarmValues == nil { + panic("lifeSafetyAlarmValues of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if alarmValues == nil { + panic("alarmValues of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if faultValues == nil { + panic("faultValues of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if silenced == nil { + panic("silenced of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if operationExpected == nil { + panic("operationExpected of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if maintenanceRequired == nil { + panic("maintenanceRequired of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if setting == nil { + panic("setting of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if directReading == nil { + panic("directReading of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if units == nil { + panic("units of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if memberOf == nil { + panic("memberOf of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for LifeSafetyPoint must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for LifeSafetyPoint must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for LifeSafetyPoint must not be nil") + } + return &_LifeSafetyPoint{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, TrackingValue: trackingValue, Description: description, DeviceType: deviceType, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Mode: mode, AcceptedModes: acceptedModes, TimeDelay: timeDelay, NotificationClass: notificationClass, LifeSafetyAlarmValues: lifeSafetyAlarmValues, AlarmValues: alarmValues, FaultValues: faultValues, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, Silenced: silenced, OperationExpected: operationExpected, MaintenanceRequired: maintenanceRequired, Setting: setting, DirectReading: directReading, Units: units, MemberOf: memberOf, PropertyList: propertyList, ValueSource: valueSource, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// LifeSafetyPointBuilder is a builder for LifeSafetyPoint +type LifeSafetyPointBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, trackingValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, mode WritableProperty, acceptedModes ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, lifeSafetyAlarmValues OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, silenced ReadableProperty, operationExpected ReadableProperty, maintenanceRequired OptionalProperty, setting OptionalProperty, directReading OptionalProperty, units OptionalProperty, memberOf OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LifeSafetyPointBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) LifeSafetyPointBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) LifeSafetyPointBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) LifeSafetyPointBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) LifeSafetyPointBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithTrackingValue adds TrackingValue (property field) + WithTrackingValue(ReadableProperty) LifeSafetyPointBuilder + // WithTrackingValueBuilder adds TrackingValue (property field) which is build by the builder + WithTrackingValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) LifeSafetyPointBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithDeviceType adds DeviceType (property field) + WithDeviceType(OptionalProperty) LifeSafetyPointBuilder + // WithDeviceTypeBuilder adds DeviceType (property field) which is build by the builder + WithDeviceTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) LifeSafetyPointBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) LifeSafetyPointBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) LifeSafetyPointBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) LifeSafetyPointBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithMode adds Mode (property field) + WithMode(WritableProperty) LifeSafetyPointBuilder + // WithModeBuilder adds Mode (property field) which is build by the builder + WithModeBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LifeSafetyPointBuilder + // WithAcceptedModes adds AcceptedModes (property field) + WithAcceptedModes(ReadableProperty) LifeSafetyPointBuilder + // WithAcceptedModesBuilder adds AcceptedModes (property field) which is build by the builder + WithAcceptedModesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) LifeSafetyPointBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) LifeSafetyPointBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithLifeSafetyAlarmValues adds LifeSafetyAlarmValues (property field) + WithLifeSafetyAlarmValues(OptionalProperty) LifeSafetyPointBuilder + // WithLifeSafetyAlarmValuesBuilder adds LifeSafetyAlarmValues (property field) which is build by the builder + WithLifeSafetyAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithAlarmValues adds AlarmValues (property field) + WithAlarmValues(OptionalProperty) LifeSafetyPointBuilder + // WithAlarmValuesBuilder adds AlarmValues (property field) which is build by the builder + WithAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithFaultValues adds FaultValues (property field) + WithFaultValues(OptionalProperty) LifeSafetyPointBuilder + // WithFaultValuesBuilder adds FaultValues (property field) which is build by the builder + WithFaultValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) LifeSafetyPointBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) LifeSafetyPointBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) LifeSafetyPointBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) LifeSafetyPointBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) LifeSafetyPointBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) LifeSafetyPointBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) LifeSafetyPointBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) LifeSafetyPointBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) LifeSafetyPointBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) LifeSafetyPointBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) LifeSafetyPointBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithSilenced adds Silenced (property field) + WithSilenced(ReadableProperty) LifeSafetyPointBuilder + // WithSilencedBuilder adds Silenced (property field) which is build by the builder + WithSilencedBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithOperationExpected adds OperationExpected (property field) + WithOperationExpected(ReadableProperty) LifeSafetyPointBuilder + // WithOperationExpectedBuilder adds OperationExpected (property field) which is build by the builder + WithOperationExpectedBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithMaintenanceRequired adds MaintenanceRequired (property field) + WithMaintenanceRequired(OptionalProperty) LifeSafetyPointBuilder + // WithMaintenanceRequiredBuilder adds MaintenanceRequired (property field) which is build by the builder + WithMaintenanceRequiredBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithSetting adds Setting (property field) + WithSetting(OptionalProperty) LifeSafetyPointBuilder + // WithSettingBuilder adds Setting (property field) which is build by the builder + WithSettingBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithDirectReading adds DirectReading (property field) + WithDirectReading(OptionalProperty) LifeSafetyPointBuilder + // WithDirectReadingBuilder adds DirectReading (property field) which is build by the builder + WithDirectReadingBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithUnits adds Units (property field) + WithUnits(OptionalProperty) LifeSafetyPointBuilder + // WithUnitsBuilder adds Units (property field) which is build by the builder + WithUnitsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithMemberOf adds MemberOf (property field) + WithMemberOf(OptionalProperty) LifeSafetyPointBuilder + // WithMemberOfBuilder adds MemberOf (property field) which is build by the builder + WithMemberOfBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) LifeSafetyPointBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) LifeSafetyPointBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) LifeSafetyPointBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) LifeSafetyPointBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) LifeSafetyPointBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder + // Build builds the LifeSafetyPoint or returns an error if something is wrong + Build() (LifeSafetyPoint, error) + // MustBuild does the same as Build but panics on error + MustBuild() LifeSafetyPoint +} + +// NewLifeSafetyPointBuilder() creates a LifeSafetyPointBuilder +func NewLifeSafetyPointBuilder() LifeSafetyPointBuilder { + return &_LifeSafetyPointBuilder{_LifeSafetyPoint: new(_LifeSafetyPoint)} +} + +type _LifeSafetyPointBuilder struct { + *_LifeSafetyPoint + + err *utils.MultiError +} + +var _ (LifeSafetyPointBuilder) = (*_LifeSafetyPointBuilder)(nil) + +func (b *_LifeSafetyPointBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, trackingValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, mode WritableProperty, acceptedModes ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, lifeSafetyAlarmValues OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, silenced ReadableProperty, operationExpected ReadableProperty, maintenanceRequired OptionalProperty, setting OptionalProperty, directReading OptionalProperty, units OptionalProperty, memberOf OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LifeSafetyPointBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithTrackingValue(trackingValue).WithDescription(description).WithDeviceType(deviceType).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithMode(mode).WithAcceptedModes(acceptedModes).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithLifeSafetyAlarmValues(lifeSafetyAlarmValues).WithAlarmValues(alarmValues).WithFaultValues(faultValues).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithSilenced(silenced).WithOperationExpected(operationExpected).WithMaintenanceRequired(maintenanceRequired).WithSetting(setting).WithDirectReading(directReading).WithUnits(units).WithMemberOf(memberOf).WithPropertyList(propertyList).WithValueSource(valueSource).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_LifeSafetyPointBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) LifeSafetyPointBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_LifeSafetyPointBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithObjectName(objectName ReadableProperty) LifeSafetyPointBuilder { + b.ObjectName = objectName + return b +} + +func (b *_LifeSafetyPointBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithObjectType(objectType ReadableProperty) LifeSafetyPointBuilder { + b.ObjectType = objectType + return b +} + +func (b *_LifeSafetyPointBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithPresentValue(presentValue ReadableProperty) LifeSafetyPointBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_LifeSafetyPointBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithTrackingValue(trackingValue ReadableProperty) LifeSafetyPointBuilder { + b.TrackingValue = trackingValue + return b +} + +func (b *_LifeSafetyPointBuilder) WithTrackingValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.TrackingValue.CreateReadablePropertyBuilder()) + var err error + b.TrackingValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithDescription(description OptionalProperty) LifeSafetyPointBuilder { + b.Description = description + return b +} + +func (b *_LifeSafetyPointBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithDeviceType(deviceType OptionalProperty) LifeSafetyPointBuilder { + b.DeviceType = deviceType + return b +} + +func (b *_LifeSafetyPointBuilder) WithDeviceTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.DeviceType.CreateOptionalPropertyBuilder()) + var err error + b.DeviceType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithStatusFlags(statusFlags ReadableProperty) LifeSafetyPointBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_LifeSafetyPointBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventState(eventState ReadableProperty) LifeSafetyPointBuilder { + b.EventState = eventState + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithReliability(reliability ReadableProperty) LifeSafetyPointBuilder { + b.Reliability = reliability + return b +} + +func (b *_LifeSafetyPointBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithOutOfService(outOfService ReadableProperty) LifeSafetyPointBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_LifeSafetyPointBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithMode(mode WritableProperty) LifeSafetyPointBuilder { + b.Mode = mode + return b +} + +func (b *_LifeSafetyPointBuilder) WithModeBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.Mode.CreateWritablePropertyBuilder()) + var err error + b.Mode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithAcceptedModes(acceptedModes ReadableProperty) LifeSafetyPointBuilder { + b.AcceptedModes = acceptedModes + return b +} + +func (b *_LifeSafetyPointBuilder) WithAcceptedModesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.AcceptedModes.CreateReadablePropertyBuilder()) + var err error + b.AcceptedModes, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithTimeDelay(timeDelay OptionalProperty) LifeSafetyPointBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_LifeSafetyPointBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithNotificationClass(notificationClass OptionalProperty) LifeSafetyPointBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_LifeSafetyPointBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithLifeSafetyAlarmValues(lifeSafetyAlarmValues OptionalProperty) LifeSafetyPointBuilder { + b.LifeSafetyAlarmValues = lifeSafetyAlarmValues + return b +} + +func (b *_LifeSafetyPointBuilder) WithLifeSafetyAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.LifeSafetyAlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.LifeSafetyAlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithAlarmValues(alarmValues OptionalProperty) LifeSafetyPointBuilder { + b.AlarmValues = alarmValues + return b +} + +func (b *_LifeSafetyPointBuilder) WithAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.AlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithFaultValues(faultValues OptionalProperty) LifeSafetyPointBuilder { + b.FaultValues = faultValues + return b +} + +func (b *_LifeSafetyPointBuilder) WithFaultValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.FaultValues.CreateOptionalPropertyBuilder()) + var err error + b.FaultValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventEnable(eventEnable OptionalProperty) LifeSafetyPointBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) LifeSafetyPointBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_LifeSafetyPointBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithNotifyType(notifyType OptionalProperty) LifeSafetyPointBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_LifeSafetyPointBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) LifeSafetyPointBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) LifeSafetyPointBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) LifeSafetyPointBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) LifeSafetyPointBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) LifeSafetyPointBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) LifeSafetyPointBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_LifeSafetyPointBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) LifeSafetyPointBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_LifeSafetyPointBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) LifeSafetyPointBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_LifeSafetyPointBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithSilenced(silenced ReadableProperty) LifeSafetyPointBuilder { + b.Silenced = silenced + return b +} + +func (b *_LifeSafetyPointBuilder) WithSilencedBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.Silenced.CreateReadablePropertyBuilder()) + var err error + b.Silenced, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithOperationExpected(operationExpected ReadableProperty) LifeSafetyPointBuilder { + b.OperationExpected = operationExpected + return b +} + +func (b *_LifeSafetyPointBuilder) WithOperationExpectedBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.OperationExpected.CreateReadablePropertyBuilder()) + var err error + b.OperationExpected, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithMaintenanceRequired(maintenanceRequired OptionalProperty) LifeSafetyPointBuilder { + b.MaintenanceRequired = maintenanceRequired + return b +} + +func (b *_LifeSafetyPointBuilder) WithMaintenanceRequiredBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.MaintenanceRequired.CreateOptionalPropertyBuilder()) + var err error + b.MaintenanceRequired, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithSetting(setting OptionalProperty) LifeSafetyPointBuilder { + b.Setting = setting + return b +} + +func (b *_LifeSafetyPointBuilder) WithSettingBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.Setting.CreateOptionalPropertyBuilder()) + var err error + b.Setting, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithDirectReading(directReading OptionalProperty) LifeSafetyPointBuilder { + b.DirectReading = directReading + return b +} + +func (b *_LifeSafetyPointBuilder) WithDirectReadingBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.DirectReading.CreateOptionalPropertyBuilder()) + var err error + b.DirectReading, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithUnits(units OptionalProperty) LifeSafetyPointBuilder { + b.Units = units + return b +} + +func (b *_LifeSafetyPointBuilder) WithUnitsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.Units.CreateOptionalPropertyBuilder()) + var err error + b.Units, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithMemberOf(memberOf OptionalProperty) LifeSafetyPointBuilder { + b.MemberOf = memberOf + return b +} + +func (b *_LifeSafetyPointBuilder) WithMemberOfBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.MemberOf.CreateOptionalPropertyBuilder()) + var err error + b.MemberOf, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithPropertyList(propertyList ReadableProperty) LifeSafetyPointBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_LifeSafetyPointBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithValueSource(valueSource OptionalProperty) LifeSafetyPointBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_LifeSafetyPointBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithTags(tags OptionalProperty) LifeSafetyPointBuilder { + b.Tags = tags + return b +} + +func (b *_LifeSafetyPointBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithProfileLocation(profileLocation OptionalProperty) LifeSafetyPointBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_LifeSafetyPointBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) WithProfileName(profileName OptionalProperty) LifeSafetyPointBuilder { + b.ProfileName = profileName + return b +} + +func (b *_LifeSafetyPointBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyPointBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyPointBuilder) Build() (LifeSafetyPoint, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.TrackingValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'trackingValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.DeviceType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceType' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Mode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'mode' not set")) + } + if b.AcceptedModes == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'acceptedModes' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.LifeSafetyAlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lifeSafetyAlarmValues' not set")) + } + if b.AlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValues' not set")) + } + if b.FaultValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultValues' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.Silenced == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'silenced' not set")) + } + if b.OperationExpected == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'operationExpected' not set")) + } + if b.MaintenanceRequired == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maintenanceRequired' not set")) + } + if b.Setting == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'setting' not set")) + } + if b.DirectReading == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'directReading' not set")) + } + if b.Units == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'units' not set")) + } + if b.MemberOf == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'memberOf' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._LifeSafetyPoint.deepCopy(), nil +} + +func (b *_LifeSafetyPointBuilder) MustBuild() LifeSafetyPoint { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_LifeSafetyPointBuilder) DeepCopy() any { + _copy := b.CreateLifeSafetyPointBuilder().(*_LifeSafetyPointBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateLifeSafetyPointBuilder creates a LifeSafetyPointBuilder +func (b *_LifeSafetyPoint) CreateLifeSafetyPointBuilder() LifeSafetyPointBuilder { + if b == nil { + return NewLifeSafetyPointBuilder() + } + return &_LifeSafetyPointBuilder{_LifeSafetyPoint: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_LifeSafetyPoint) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_LifeSafetyPoint) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_LifeSafetyPoint) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_LifeSafetyPoint) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_LifeSafetyPoint) GetTrackingValue() ReadableProperty { + return m.TrackingValue +} + +func (m *_LifeSafetyPoint) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_LifeSafetyPoint) GetDeviceType() OptionalProperty { + return m.DeviceType +} + +func (m *_LifeSafetyPoint) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_LifeSafetyPoint) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_LifeSafetyPoint) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_LifeSafetyPoint) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_LifeSafetyPoint) GetMode() WritableProperty { + return m.Mode +} + +func (m *_LifeSafetyPoint) GetAcceptedModes() ReadableProperty { + return m.AcceptedModes +} + +func (m *_LifeSafetyPoint) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_LifeSafetyPoint) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_LifeSafetyPoint) GetLifeSafetyAlarmValues() OptionalProperty { + return m.LifeSafetyAlarmValues +} + +func (m *_LifeSafetyPoint) GetAlarmValues() OptionalProperty { + return m.AlarmValues +} + +func (m *_LifeSafetyPoint) GetFaultValues() OptionalProperty { + return m.FaultValues +} + +func (m *_LifeSafetyPoint) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_LifeSafetyPoint) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_LifeSafetyPoint) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_LifeSafetyPoint) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_LifeSafetyPoint) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_LifeSafetyPoint) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_LifeSafetyPoint) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_LifeSafetyPoint) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_LifeSafetyPoint) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_LifeSafetyPoint) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_LifeSafetyPoint) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_LifeSafetyPoint) GetSilenced() ReadableProperty { + return m.Silenced +} + +func (m *_LifeSafetyPoint) GetOperationExpected() ReadableProperty { + return m.OperationExpected +} + +func (m *_LifeSafetyPoint) GetMaintenanceRequired() OptionalProperty { + return m.MaintenanceRequired +} + +func (m *_LifeSafetyPoint) GetSetting() OptionalProperty { + return m.Setting +} + +func (m *_LifeSafetyPoint) GetDirectReading() OptionalProperty { + return m.DirectReading +} + +func (m *_LifeSafetyPoint) GetUnits() OptionalProperty { + return m.Units +} + +func (m *_LifeSafetyPoint) GetMemberOf() OptionalProperty { + return m.MemberOf +} + +func (m *_LifeSafetyPoint) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_LifeSafetyPoint) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_LifeSafetyPoint) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_LifeSafetyPoint) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_LifeSafetyPoint) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastLifeSafetyPoint(structType any) LifeSafetyPoint { + if casted, ok := structType.(LifeSafetyPoint); ok { + return casted + } + if casted, ok := structType.(*LifeSafetyPoint); ok { + return *casted + } + return nil +} + +func (m *_LifeSafetyPoint) GetTypeName() string { + return "LifeSafetyPoint" +} + +func (m *_LifeSafetyPoint) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (trackingValue) + lengthInBits += m.TrackingValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (deviceType) + lengthInBits += m.DeviceType.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (mode) + lengthInBits += m.Mode.GetLengthInBits(ctx) + + // Simple field (acceptedModes) + lengthInBits += m.AcceptedModes.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (lifeSafetyAlarmValues) + lengthInBits += m.LifeSafetyAlarmValues.GetLengthInBits(ctx) + + // Simple field (alarmValues) + lengthInBits += m.AlarmValues.GetLengthInBits(ctx) + + // Simple field (faultValues) + lengthInBits += m.FaultValues.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (silenced) + lengthInBits += m.Silenced.GetLengthInBits(ctx) + + // Simple field (operationExpected) + lengthInBits += m.OperationExpected.GetLengthInBits(ctx) + + // Simple field (maintenanceRequired) + lengthInBits += m.MaintenanceRequired.GetLengthInBits(ctx) + + // Simple field (setting) + lengthInBits += m.Setting.GetLengthInBits(ctx) + + // Simple field (directReading) + lengthInBits += m.DirectReading.GetLengthInBits(ctx) + + // Simple field (units) + lengthInBits += m.Units.GetLengthInBits(ctx) + + // Simple field (memberOf) + lengthInBits += m.MemberOf.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_LifeSafetyPoint) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func LifeSafetyPointParse(ctx context.Context, theBytes []byte) (LifeSafetyPoint, error) { + return LifeSafetyPointParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func LifeSafetyPointParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (LifeSafetyPoint, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (LifeSafetyPoint, error) { + return LifeSafetyPointParseWithBuffer(ctx, readBuffer) + } +} + +func LifeSafetyPointParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (LifeSafetyPoint, error) { + v, err := (&_LifeSafetyPoint{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_LifeSafetyPoint) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__lifeSafetyPoint LifeSafetyPoint, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("LifeSafetyPoint"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for LifeSafetyPoint") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + trackingValue, err := ReadSimpleField[ReadableProperty](ctx, "trackingValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'trackingValue' field")) + } + m.TrackingValue = trackingValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + deviceType, err := ReadSimpleField[OptionalProperty](ctx, "deviceType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceType' field")) + } + m.DeviceType = deviceType + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + mode, err := ReadSimpleField[WritableProperty](ctx, "mode", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetLifeSafetyMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'mode' field")) + } + m.Mode = mode + + acceptedModes, err := ReadSimpleField[ReadableProperty](ctx, "acceptedModes", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLifeSafetyMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'acceptedModes' field")) + } + m.AcceptedModes = acceptedModes + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + lifeSafetyAlarmValues, err := ReadSimpleField[OptionalProperty](ctx, "lifeSafetyAlarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lifeSafetyAlarmValues' field")) + } + m.LifeSafetyAlarmValues = lifeSafetyAlarmValues + + alarmValues, err := ReadSimpleField[OptionalProperty](ctx, "alarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValues' field")) + } + m.AlarmValues = alarmValues + + faultValues, err := ReadSimpleField[OptionalProperty](ctx, "faultValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultValues' field")) + } + m.FaultValues = faultValues + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + silenced, err := ReadSimpleField[ReadableProperty](ctx, "silenced", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetSilencedState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'silenced' field")) + } + m.Silenced = silenced + + operationExpected, err := ReadSimpleField[ReadableProperty](ctx, "operationExpected", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLifeSafetyOperation")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'operationExpected' field")) + } + m.OperationExpected = operationExpected + + maintenanceRequired, err := ReadSimpleField[OptionalProperty](ctx, "maintenanceRequired", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetMaintenance")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maintenanceRequired' field")) + } + m.MaintenanceRequired = maintenanceRequired + + setting, err := ReadSimpleField[OptionalProperty](ctx, "setting", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'setting' field")) + } + m.Setting = setting + + directReading, err := ReadSimpleField[OptionalProperty](ctx, "directReading", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'directReading' field")) + } + m.DirectReading = directReading + + units, err := ReadSimpleField[OptionalProperty](ctx, "units", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'units' field")) + } + m.Units = units + + memberOf, err := ReadSimpleField[OptionalProperty](ctx, "memberOf", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'memberOf' field")) + } + m.MemberOf = memberOf + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("LifeSafetyPoint"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for LifeSafetyPoint") + } + + return m, nil +} + +func (m *_LifeSafetyPoint) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_LifeSafetyPoint) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("LifeSafetyPoint"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for LifeSafetyPoint") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "trackingValue", m.GetTrackingValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'trackingValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deviceType", m.GetDeviceType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "mode", m.GetMode(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'mode' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "acceptedModes", m.GetAcceptedModes(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'acceptedModes' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lifeSafetyAlarmValues", m.GetLifeSafetyAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lifeSafetyAlarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValues", m.GetAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultValues", m.GetFaultValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "silenced", m.GetSilenced(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'silenced' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "operationExpected", m.GetOperationExpected(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'operationExpected' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maintenanceRequired", m.GetMaintenanceRequired(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maintenanceRequired' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "setting", m.GetSetting(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'setting' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "directReading", m.GetDirectReading(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'directReading' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "units", m.GetUnits(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'units' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "memberOf", m.GetMemberOf(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'memberOf' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("LifeSafetyPoint"); popErr != nil { + return errors.Wrap(popErr, "Error popping for LifeSafetyPoint") + } + return nil +} + +func (m *_LifeSafetyPoint) IsLifeSafetyPoint() {} + +func (m *_LifeSafetyPoint) DeepCopy() any { + return m.deepCopy() +} + +func (m *_LifeSafetyPoint) deepCopy() *_LifeSafetyPoint { + if m == nil { + return nil + } + _LifeSafetyPointCopy := &_LifeSafetyPoint{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.TrackingValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.DeviceType.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.Mode.DeepCopy().(WritableProperty), + m.AcceptedModes.DeepCopy().(ReadableProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.LifeSafetyAlarmValues.DeepCopy().(OptionalProperty), + m.AlarmValues.DeepCopy().(OptionalProperty), + m.FaultValues.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.Silenced.DeepCopy().(ReadableProperty), + m.OperationExpected.DeepCopy().(ReadableProperty), + m.MaintenanceRequired.DeepCopy().(OptionalProperty), + m.Setting.DeepCopy().(OptionalProperty), + m.DirectReading.DeepCopy().(OptionalProperty), + m.Units.DeepCopy().(OptionalProperty), + m.MemberOf.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _LifeSafetyPointCopy +} + +func (m *_LifeSafetyPoint) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/LifeSafetyZone.go b/plc4go/protocols/bacnetip/readwrite/model/LifeSafetyZone.go new file mode 100644 index 00000000000..4e9c7ec208d --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/LifeSafetyZone.go @@ -0,0 +1,2276 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// LifeSafetyZone is the corresponding interface of LifeSafetyZone +type LifeSafetyZone interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetTrackingValue returns TrackingValue (property field) + GetTrackingValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetDeviceType returns DeviceType (property field) + GetDeviceType() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetMode returns Mode (property field) + GetMode() WritableProperty + // GetAcceptedModes returns AcceptedModes (property field) + GetAcceptedModes() ReadableProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetLifeSafetyAlarmValues returns LifeSafetyAlarmValues (property field) + GetLifeSafetyAlarmValues() OptionalProperty + // GetAlarmValues returns AlarmValues (property field) + GetAlarmValues() OptionalProperty + // GetFaultValues returns FaultValues (property field) + GetFaultValues() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetSilenced returns Silenced (property field) + GetSilenced() ReadableProperty + // GetOperationExpected returns OperationExpected (property field) + GetOperationExpected() ReadableProperty + // GetMaintenanceRequired returns MaintenanceRequired (property field) + GetMaintenanceRequired() OptionalProperty + // GetZoneMembers returns ZoneMembers (property field) + GetZoneMembers() ReadableProperty + // GetMemberOf returns MemberOf (property field) + GetMemberOf() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsLifeSafetyZone is a marker method to prevent unintentional type checks (interfaces of same signature) + IsLifeSafetyZone() + // CreateBuilder creates a LifeSafetyZoneBuilder + CreateLifeSafetyZoneBuilder() LifeSafetyZoneBuilder +} + +// _LifeSafetyZone is the data-structure of this message +type _LifeSafetyZone struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + TrackingValue ReadableProperty + Description OptionalProperty + DeviceType OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability ReadableProperty + OutOfService ReadableProperty + Mode WritableProperty + AcceptedModes ReadableProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + LifeSafetyAlarmValues OptionalProperty + AlarmValues OptionalProperty + FaultValues OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + Silenced ReadableProperty + OperationExpected ReadableProperty + MaintenanceRequired OptionalProperty + ZoneMembers ReadableProperty + MemberOf OptionalProperty + PropertyList ReadableProperty + ValueSource OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ LifeSafetyZone = (*_LifeSafetyZone)(nil) + +// NewLifeSafetyZone factory function for _LifeSafetyZone +func NewLifeSafetyZone(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, trackingValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, mode WritableProperty, acceptedModes ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, lifeSafetyAlarmValues OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, silenced ReadableProperty, operationExpected ReadableProperty, maintenanceRequired OptionalProperty, zoneMembers ReadableProperty, memberOf OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_LifeSafetyZone { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for LifeSafetyZone must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for LifeSafetyZone must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for LifeSafetyZone must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for LifeSafetyZone must not be nil") + } + if trackingValue == nil { + panic("trackingValue of type ReadableProperty for LifeSafetyZone must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for LifeSafetyZone must not be nil") + } + if deviceType == nil { + panic("deviceType of type OptionalProperty for LifeSafetyZone must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for LifeSafetyZone must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for LifeSafetyZone must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for LifeSafetyZone must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for LifeSafetyZone must not be nil") + } + if mode == nil { + panic("mode of type WritableProperty for LifeSafetyZone must not be nil") + } + if acceptedModes == nil { + panic("acceptedModes of type ReadableProperty for LifeSafetyZone must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for LifeSafetyZone must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for LifeSafetyZone must not be nil") + } + if lifeSafetyAlarmValues == nil { + panic("lifeSafetyAlarmValues of type OptionalProperty for LifeSafetyZone must not be nil") + } + if alarmValues == nil { + panic("alarmValues of type OptionalProperty for LifeSafetyZone must not be nil") + } + if faultValues == nil { + panic("faultValues of type OptionalProperty for LifeSafetyZone must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for LifeSafetyZone must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for LifeSafetyZone must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for LifeSafetyZone must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for LifeSafetyZone must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for LifeSafetyZone must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for LifeSafetyZone must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for LifeSafetyZone must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for LifeSafetyZone must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for LifeSafetyZone must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for LifeSafetyZone must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for LifeSafetyZone must not be nil") + } + if silenced == nil { + panic("silenced of type ReadableProperty for LifeSafetyZone must not be nil") + } + if operationExpected == nil { + panic("operationExpected of type ReadableProperty for LifeSafetyZone must not be nil") + } + if maintenanceRequired == nil { + panic("maintenanceRequired of type OptionalProperty for LifeSafetyZone must not be nil") + } + if zoneMembers == nil { + panic("zoneMembers of type ReadableProperty for LifeSafetyZone must not be nil") + } + if memberOf == nil { + panic("memberOf of type OptionalProperty for LifeSafetyZone must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for LifeSafetyZone must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for LifeSafetyZone must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for LifeSafetyZone must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for LifeSafetyZone must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for LifeSafetyZone must not be nil") + } + return &_LifeSafetyZone{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, TrackingValue: trackingValue, Description: description, DeviceType: deviceType, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Mode: mode, AcceptedModes: acceptedModes, TimeDelay: timeDelay, NotificationClass: notificationClass, LifeSafetyAlarmValues: lifeSafetyAlarmValues, AlarmValues: alarmValues, FaultValues: faultValues, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, Silenced: silenced, OperationExpected: operationExpected, MaintenanceRequired: maintenanceRequired, ZoneMembers: zoneMembers, MemberOf: memberOf, PropertyList: propertyList, ValueSource: valueSource, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// LifeSafetyZoneBuilder is a builder for LifeSafetyZone +type LifeSafetyZoneBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, trackingValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, mode WritableProperty, acceptedModes ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, lifeSafetyAlarmValues OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, silenced ReadableProperty, operationExpected ReadableProperty, maintenanceRequired OptionalProperty, zoneMembers ReadableProperty, memberOf OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LifeSafetyZoneBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) LifeSafetyZoneBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) LifeSafetyZoneBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) LifeSafetyZoneBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) LifeSafetyZoneBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithTrackingValue adds TrackingValue (property field) + WithTrackingValue(ReadableProperty) LifeSafetyZoneBuilder + // WithTrackingValueBuilder adds TrackingValue (property field) which is build by the builder + WithTrackingValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) LifeSafetyZoneBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithDeviceType adds DeviceType (property field) + WithDeviceType(OptionalProperty) LifeSafetyZoneBuilder + // WithDeviceTypeBuilder adds DeviceType (property field) which is build by the builder + WithDeviceTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) LifeSafetyZoneBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) LifeSafetyZoneBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) LifeSafetyZoneBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) LifeSafetyZoneBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithMode adds Mode (property field) + WithMode(WritableProperty) LifeSafetyZoneBuilder + // WithModeBuilder adds Mode (property field) which is build by the builder + WithModeBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LifeSafetyZoneBuilder + // WithAcceptedModes adds AcceptedModes (property field) + WithAcceptedModes(ReadableProperty) LifeSafetyZoneBuilder + // WithAcceptedModesBuilder adds AcceptedModes (property field) which is build by the builder + WithAcceptedModesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) LifeSafetyZoneBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) LifeSafetyZoneBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithLifeSafetyAlarmValues adds LifeSafetyAlarmValues (property field) + WithLifeSafetyAlarmValues(OptionalProperty) LifeSafetyZoneBuilder + // WithLifeSafetyAlarmValuesBuilder adds LifeSafetyAlarmValues (property field) which is build by the builder + WithLifeSafetyAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithAlarmValues adds AlarmValues (property field) + WithAlarmValues(OptionalProperty) LifeSafetyZoneBuilder + // WithAlarmValuesBuilder adds AlarmValues (property field) which is build by the builder + WithAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithFaultValues adds FaultValues (property field) + WithFaultValues(OptionalProperty) LifeSafetyZoneBuilder + // WithFaultValuesBuilder adds FaultValues (property field) which is build by the builder + WithFaultValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) LifeSafetyZoneBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) LifeSafetyZoneBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) LifeSafetyZoneBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) LifeSafetyZoneBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) LifeSafetyZoneBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) LifeSafetyZoneBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) LifeSafetyZoneBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) LifeSafetyZoneBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) LifeSafetyZoneBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) LifeSafetyZoneBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) LifeSafetyZoneBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithSilenced adds Silenced (property field) + WithSilenced(ReadableProperty) LifeSafetyZoneBuilder + // WithSilencedBuilder adds Silenced (property field) which is build by the builder + WithSilencedBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithOperationExpected adds OperationExpected (property field) + WithOperationExpected(ReadableProperty) LifeSafetyZoneBuilder + // WithOperationExpectedBuilder adds OperationExpected (property field) which is build by the builder + WithOperationExpectedBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithMaintenanceRequired adds MaintenanceRequired (property field) + WithMaintenanceRequired(OptionalProperty) LifeSafetyZoneBuilder + // WithMaintenanceRequiredBuilder adds MaintenanceRequired (property field) which is build by the builder + WithMaintenanceRequiredBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithZoneMembers adds ZoneMembers (property field) + WithZoneMembers(ReadableProperty) LifeSafetyZoneBuilder + // WithZoneMembersBuilder adds ZoneMembers (property field) which is build by the builder + WithZoneMembersBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithMemberOf adds MemberOf (property field) + WithMemberOf(OptionalProperty) LifeSafetyZoneBuilder + // WithMemberOfBuilder adds MemberOf (property field) which is build by the builder + WithMemberOfBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) LifeSafetyZoneBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) LifeSafetyZoneBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) LifeSafetyZoneBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) LifeSafetyZoneBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) LifeSafetyZoneBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder + // Build builds the LifeSafetyZone or returns an error if something is wrong + Build() (LifeSafetyZone, error) + // MustBuild does the same as Build but panics on error + MustBuild() LifeSafetyZone +} + +// NewLifeSafetyZoneBuilder() creates a LifeSafetyZoneBuilder +func NewLifeSafetyZoneBuilder() LifeSafetyZoneBuilder { + return &_LifeSafetyZoneBuilder{_LifeSafetyZone: new(_LifeSafetyZone)} +} + +type _LifeSafetyZoneBuilder struct { + *_LifeSafetyZone + + err *utils.MultiError +} + +var _ (LifeSafetyZoneBuilder) = (*_LifeSafetyZoneBuilder)(nil) + +func (b *_LifeSafetyZoneBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, trackingValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, mode WritableProperty, acceptedModes ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, lifeSafetyAlarmValues OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, silenced ReadableProperty, operationExpected ReadableProperty, maintenanceRequired OptionalProperty, zoneMembers ReadableProperty, memberOf OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LifeSafetyZoneBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithTrackingValue(trackingValue).WithDescription(description).WithDeviceType(deviceType).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithMode(mode).WithAcceptedModes(acceptedModes).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithLifeSafetyAlarmValues(lifeSafetyAlarmValues).WithAlarmValues(alarmValues).WithFaultValues(faultValues).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithSilenced(silenced).WithOperationExpected(operationExpected).WithMaintenanceRequired(maintenanceRequired).WithZoneMembers(zoneMembers).WithMemberOf(memberOf).WithPropertyList(propertyList).WithValueSource(valueSource).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_LifeSafetyZoneBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) LifeSafetyZoneBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_LifeSafetyZoneBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithObjectName(objectName ReadableProperty) LifeSafetyZoneBuilder { + b.ObjectName = objectName + return b +} + +func (b *_LifeSafetyZoneBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithObjectType(objectType ReadableProperty) LifeSafetyZoneBuilder { + b.ObjectType = objectType + return b +} + +func (b *_LifeSafetyZoneBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithPresentValue(presentValue ReadableProperty) LifeSafetyZoneBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_LifeSafetyZoneBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithTrackingValue(trackingValue ReadableProperty) LifeSafetyZoneBuilder { + b.TrackingValue = trackingValue + return b +} + +func (b *_LifeSafetyZoneBuilder) WithTrackingValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.TrackingValue.CreateReadablePropertyBuilder()) + var err error + b.TrackingValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithDescription(description OptionalProperty) LifeSafetyZoneBuilder { + b.Description = description + return b +} + +func (b *_LifeSafetyZoneBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithDeviceType(deviceType OptionalProperty) LifeSafetyZoneBuilder { + b.DeviceType = deviceType + return b +} + +func (b *_LifeSafetyZoneBuilder) WithDeviceTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.DeviceType.CreateOptionalPropertyBuilder()) + var err error + b.DeviceType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithStatusFlags(statusFlags ReadableProperty) LifeSafetyZoneBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_LifeSafetyZoneBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventState(eventState ReadableProperty) LifeSafetyZoneBuilder { + b.EventState = eventState + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithReliability(reliability ReadableProperty) LifeSafetyZoneBuilder { + b.Reliability = reliability + return b +} + +func (b *_LifeSafetyZoneBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithOutOfService(outOfService ReadableProperty) LifeSafetyZoneBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_LifeSafetyZoneBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithMode(mode WritableProperty) LifeSafetyZoneBuilder { + b.Mode = mode + return b +} + +func (b *_LifeSafetyZoneBuilder) WithModeBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.Mode.CreateWritablePropertyBuilder()) + var err error + b.Mode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithAcceptedModes(acceptedModes ReadableProperty) LifeSafetyZoneBuilder { + b.AcceptedModes = acceptedModes + return b +} + +func (b *_LifeSafetyZoneBuilder) WithAcceptedModesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.AcceptedModes.CreateReadablePropertyBuilder()) + var err error + b.AcceptedModes, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithTimeDelay(timeDelay OptionalProperty) LifeSafetyZoneBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_LifeSafetyZoneBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithNotificationClass(notificationClass OptionalProperty) LifeSafetyZoneBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_LifeSafetyZoneBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithLifeSafetyAlarmValues(lifeSafetyAlarmValues OptionalProperty) LifeSafetyZoneBuilder { + b.LifeSafetyAlarmValues = lifeSafetyAlarmValues + return b +} + +func (b *_LifeSafetyZoneBuilder) WithLifeSafetyAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.LifeSafetyAlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.LifeSafetyAlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithAlarmValues(alarmValues OptionalProperty) LifeSafetyZoneBuilder { + b.AlarmValues = alarmValues + return b +} + +func (b *_LifeSafetyZoneBuilder) WithAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.AlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithFaultValues(faultValues OptionalProperty) LifeSafetyZoneBuilder { + b.FaultValues = faultValues + return b +} + +func (b *_LifeSafetyZoneBuilder) WithFaultValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.FaultValues.CreateOptionalPropertyBuilder()) + var err error + b.FaultValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventEnable(eventEnable OptionalProperty) LifeSafetyZoneBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) LifeSafetyZoneBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_LifeSafetyZoneBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithNotifyType(notifyType OptionalProperty) LifeSafetyZoneBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_LifeSafetyZoneBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) LifeSafetyZoneBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) LifeSafetyZoneBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) LifeSafetyZoneBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) LifeSafetyZoneBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) LifeSafetyZoneBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) LifeSafetyZoneBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_LifeSafetyZoneBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) LifeSafetyZoneBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_LifeSafetyZoneBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) LifeSafetyZoneBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_LifeSafetyZoneBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithSilenced(silenced ReadableProperty) LifeSafetyZoneBuilder { + b.Silenced = silenced + return b +} + +func (b *_LifeSafetyZoneBuilder) WithSilencedBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.Silenced.CreateReadablePropertyBuilder()) + var err error + b.Silenced, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithOperationExpected(operationExpected ReadableProperty) LifeSafetyZoneBuilder { + b.OperationExpected = operationExpected + return b +} + +func (b *_LifeSafetyZoneBuilder) WithOperationExpectedBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.OperationExpected.CreateReadablePropertyBuilder()) + var err error + b.OperationExpected, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithMaintenanceRequired(maintenanceRequired OptionalProperty) LifeSafetyZoneBuilder { + b.MaintenanceRequired = maintenanceRequired + return b +} + +func (b *_LifeSafetyZoneBuilder) WithMaintenanceRequiredBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.MaintenanceRequired.CreateOptionalPropertyBuilder()) + var err error + b.MaintenanceRequired, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithZoneMembers(zoneMembers ReadableProperty) LifeSafetyZoneBuilder { + b.ZoneMembers = zoneMembers + return b +} + +func (b *_LifeSafetyZoneBuilder) WithZoneMembersBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.ZoneMembers.CreateReadablePropertyBuilder()) + var err error + b.ZoneMembers, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithMemberOf(memberOf OptionalProperty) LifeSafetyZoneBuilder { + b.MemberOf = memberOf + return b +} + +func (b *_LifeSafetyZoneBuilder) WithMemberOfBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.MemberOf.CreateOptionalPropertyBuilder()) + var err error + b.MemberOf, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithPropertyList(propertyList ReadableProperty) LifeSafetyZoneBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_LifeSafetyZoneBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithValueSource(valueSource OptionalProperty) LifeSafetyZoneBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_LifeSafetyZoneBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithTags(tags OptionalProperty) LifeSafetyZoneBuilder { + b.Tags = tags + return b +} + +func (b *_LifeSafetyZoneBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithProfileLocation(profileLocation OptionalProperty) LifeSafetyZoneBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_LifeSafetyZoneBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) WithProfileName(profileName OptionalProperty) LifeSafetyZoneBuilder { + b.ProfileName = profileName + return b +} + +func (b *_LifeSafetyZoneBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LifeSafetyZoneBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LifeSafetyZoneBuilder) Build() (LifeSafetyZone, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.TrackingValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'trackingValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.DeviceType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceType' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Mode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'mode' not set")) + } + if b.AcceptedModes == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'acceptedModes' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.LifeSafetyAlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lifeSafetyAlarmValues' not set")) + } + if b.AlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValues' not set")) + } + if b.FaultValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultValues' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.Silenced == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'silenced' not set")) + } + if b.OperationExpected == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'operationExpected' not set")) + } + if b.MaintenanceRequired == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maintenanceRequired' not set")) + } + if b.ZoneMembers == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'zoneMembers' not set")) + } + if b.MemberOf == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'memberOf' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._LifeSafetyZone.deepCopy(), nil +} + +func (b *_LifeSafetyZoneBuilder) MustBuild() LifeSafetyZone { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_LifeSafetyZoneBuilder) DeepCopy() any { + _copy := b.CreateLifeSafetyZoneBuilder().(*_LifeSafetyZoneBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateLifeSafetyZoneBuilder creates a LifeSafetyZoneBuilder +func (b *_LifeSafetyZone) CreateLifeSafetyZoneBuilder() LifeSafetyZoneBuilder { + if b == nil { + return NewLifeSafetyZoneBuilder() + } + return &_LifeSafetyZoneBuilder{_LifeSafetyZone: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_LifeSafetyZone) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_LifeSafetyZone) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_LifeSafetyZone) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_LifeSafetyZone) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_LifeSafetyZone) GetTrackingValue() ReadableProperty { + return m.TrackingValue +} + +func (m *_LifeSafetyZone) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_LifeSafetyZone) GetDeviceType() OptionalProperty { + return m.DeviceType +} + +func (m *_LifeSafetyZone) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_LifeSafetyZone) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_LifeSafetyZone) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_LifeSafetyZone) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_LifeSafetyZone) GetMode() WritableProperty { + return m.Mode +} + +func (m *_LifeSafetyZone) GetAcceptedModes() ReadableProperty { + return m.AcceptedModes +} + +func (m *_LifeSafetyZone) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_LifeSafetyZone) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_LifeSafetyZone) GetLifeSafetyAlarmValues() OptionalProperty { + return m.LifeSafetyAlarmValues +} + +func (m *_LifeSafetyZone) GetAlarmValues() OptionalProperty { + return m.AlarmValues +} + +func (m *_LifeSafetyZone) GetFaultValues() OptionalProperty { + return m.FaultValues +} + +func (m *_LifeSafetyZone) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_LifeSafetyZone) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_LifeSafetyZone) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_LifeSafetyZone) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_LifeSafetyZone) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_LifeSafetyZone) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_LifeSafetyZone) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_LifeSafetyZone) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_LifeSafetyZone) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_LifeSafetyZone) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_LifeSafetyZone) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_LifeSafetyZone) GetSilenced() ReadableProperty { + return m.Silenced +} + +func (m *_LifeSafetyZone) GetOperationExpected() ReadableProperty { + return m.OperationExpected +} + +func (m *_LifeSafetyZone) GetMaintenanceRequired() OptionalProperty { + return m.MaintenanceRequired +} + +func (m *_LifeSafetyZone) GetZoneMembers() ReadableProperty { + return m.ZoneMembers +} + +func (m *_LifeSafetyZone) GetMemberOf() OptionalProperty { + return m.MemberOf +} + +func (m *_LifeSafetyZone) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_LifeSafetyZone) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_LifeSafetyZone) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_LifeSafetyZone) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_LifeSafetyZone) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastLifeSafetyZone(structType any) LifeSafetyZone { + if casted, ok := structType.(LifeSafetyZone); ok { + return casted + } + if casted, ok := structType.(*LifeSafetyZone); ok { + return *casted + } + return nil +} + +func (m *_LifeSafetyZone) GetTypeName() string { + return "LifeSafetyZone" +} + +func (m *_LifeSafetyZone) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (trackingValue) + lengthInBits += m.TrackingValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (deviceType) + lengthInBits += m.DeviceType.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (mode) + lengthInBits += m.Mode.GetLengthInBits(ctx) + + // Simple field (acceptedModes) + lengthInBits += m.AcceptedModes.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (lifeSafetyAlarmValues) + lengthInBits += m.LifeSafetyAlarmValues.GetLengthInBits(ctx) + + // Simple field (alarmValues) + lengthInBits += m.AlarmValues.GetLengthInBits(ctx) + + // Simple field (faultValues) + lengthInBits += m.FaultValues.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (silenced) + lengthInBits += m.Silenced.GetLengthInBits(ctx) + + // Simple field (operationExpected) + lengthInBits += m.OperationExpected.GetLengthInBits(ctx) + + // Simple field (maintenanceRequired) + lengthInBits += m.MaintenanceRequired.GetLengthInBits(ctx) + + // Simple field (zoneMembers) + lengthInBits += m.ZoneMembers.GetLengthInBits(ctx) + + // Simple field (memberOf) + lengthInBits += m.MemberOf.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_LifeSafetyZone) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func LifeSafetyZoneParse(ctx context.Context, theBytes []byte) (LifeSafetyZone, error) { + return LifeSafetyZoneParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func LifeSafetyZoneParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (LifeSafetyZone, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (LifeSafetyZone, error) { + return LifeSafetyZoneParseWithBuffer(ctx, readBuffer) + } +} + +func LifeSafetyZoneParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (LifeSafetyZone, error) { + v, err := (&_LifeSafetyZone{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_LifeSafetyZone) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__lifeSafetyZone LifeSafetyZone, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("LifeSafetyZone"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for LifeSafetyZone") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + trackingValue, err := ReadSimpleField[ReadableProperty](ctx, "trackingValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'trackingValue' field")) + } + m.TrackingValue = trackingValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + deviceType, err := ReadSimpleField[OptionalProperty](ctx, "deviceType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceType' field")) + } + m.DeviceType = deviceType + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + mode, err := ReadSimpleField[WritableProperty](ctx, "mode", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetLifeSafetyMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'mode' field")) + } + m.Mode = mode + + acceptedModes, err := ReadSimpleField[ReadableProperty](ctx, "acceptedModes", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLifeSafetyMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'acceptedModes' field")) + } + m.AcceptedModes = acceptedModes + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + lifeSafetyAlarmValues, err := ReadSimpleField[OptionalProperty](ctx, "lifeSafetyAlarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lifeSafetyAlarmValues' field")) + } + m.LifeSafetyAlarmValues = lifeSafetyAlarmValues + + alarmValues, err := ReadSimpleField[OptionalProperty](ctx, "alarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValues' field")) + } + m.AlarmValues = alarmValues + + faultValues, err := ReadSimpleField[OptionalProperty](ctx, "faultValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLifeSafetyState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultValues' field")) + } + m.FaultValues = faultValues + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + silenced, err := ReadSimpleField[ReadableProperty](ctx, "silenced", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetSilencedState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'silenced' field")) + } + m.Silenced = silenced + + operationExpected, err := ReadSimpleField[ReadableProperty](ctx, "operationExpected", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLifeSafetyOperation")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'operationExpected' field")) + } + m.OperationExpected = operationExpected + + maintenanceRequired, err := ReadSimpleField[OptionalProperty](ctx, "maintenanceRequired", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maintenanceRequired' field")) + } + m.MaintenanceRequired = maintenanceRequired + + zoneMembers, err := ReadSimpleField[ReadableProperty](ctx, "zoneMembers", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'zoneMembers' field")) + } + m.ZoneMembers = zoneMembers + + memberOf, err := ReadSimpleField[OptionalProperty](ctx, "memberOf", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'memberOf' field")) + } + m.MemberOf = memberOf + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("LifeSafetyZone"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for LifeSafetyZone") + } + + return m, nil +} + +func (m *_LifeSafetyZone) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_LifeSafetyZone) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("LifeSafetyZone"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for LifeSafetyZone") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "trackingValue", m.GetTrackingValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'trackingValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deviceType", m.GetDeviceType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "mode", m.GetMode(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'mode' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "acceptedModes", m.GetAcceptedModes(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'acceptedModes' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lifeSafetyAlarmValues", m.GetLifeSafetyAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lifeSafetyAlarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValues", m.GetAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultValues", m.GetFaultValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "silenced", m.GetSilenced(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'silenced' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "operationExpected", m.GetOperationExpected(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'operationExpected' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maintenanceRequired", m.GetMaintenanceRequired(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maintenanceRequired' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "zoneMembers", m.GetZoneMembers(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'zoneMembers' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "memberOf", m.GetMemberOf(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'memberOf' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("LifeSafetyZone"); popErr != nil { + return errors.Wrap(popErr, "Error popping for LifeSafetyZone") + } + return nil +} + +func (m *_LifeSafetyZone) IsLifeSafetyZone() {} + +func (m *_LifeSafetyZone) DeepCopy() any { + return m.deepCopy() +} + +func (m *_LifeSafetyZone) deepCopy() *_LifeSafetyZone { + if m == nil { + return nil + } + _LifeSafetyZoneCopy := &_LifeSafetyZone{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.TrackingValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.DeviceType.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.Mode.DeepCopy().(WritableProperty), + m.AcceptedModes.DeepCopy().(ReadableProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.LifeSafetyAlarmValues.DeepCopy().(OptionalProperty), + m.AlarmValues.DeepCopy().(OptionalProperty), + m.FaultValues.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.Silenced.DeepCopy().(ReadableProperty), + m.OperationExpected.DeepCopy().(ReadableProperty), + m.MaintenanceRequired.DeepCopy().(OptionalProperty), + m.ZoneMembers.DeepCopy().(ReadableProperty), + m.MemberOf.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _LifeSafetyZoneCopy +} + +func (m *_LifeSafetyZone) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Lift.go b/plc4go/protocols/bacnetip/readwrite/model/Lift.go new file mode 100644 index 00000000000..3d7803071ed --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Lift.go @@ -0,0 +1,2900 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Lift is the corresponding interface of Lift +type Lift interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetElevatorGroup returns ElevatorGroup (property field) + GetElevatorGroup() ReadableProperty + // GetGroupID returns GroupID (property field) + GetGroupID() ReadableProperty + // GetInstallationID returns InstallationID (property field) + GetInstallationID() ReadableProperty + // GetFloorText returns FloorText (property field) + GetFloorText() OptionalProperty + // GetCarDoorText returns CarDoorText (property field) + GetCarDoorText() OptionalProperty + // GetAssignedLandingCalls returns AssignedLandingCalls (property field) + GetAssignedLandingCalls() OptionalProperty + // GetMakingCarCall returns MakingCarCall (property field) + GetMakingCarCall() OptionalProperty + // GetRegisteredCarCall returns RegisteredCarCall (property field) + GetRegisteredCarCall() OptionalProperty + // GetCarPosition returns CarPosition (property field) + GetCarPosition() ReadableProperty + // GetCarMovingDirection returns CarMovingDirection (property field) + GetCarMovingDirection() ReadableProperty + // GetCarAssignedDirection returns CarAssignedDirection (property field) + GetCarAssignedDirection() OptionalProperty + // GetCarDoorStatus returns CarDoorStatus (property field) + GetCarDoorStatus() ReadableProperty + // GetCarDoorCommand returns CarDoorCommand (property field) + GetCarDoorCommand() OptionalProperty + // GetCarDoorZone returns CarDoorZone (property field) + GetCarDoorZone() OptionalProperty + // GetCarMode returns CarMode (property field) + GetCarMode() OptionalProperty + // GetCarLoad returns CarLoad (property field) + GetCarLoad() OptionalProperty + // GetCarLoadUnits returns CarLoadUnits (property field) + GetCarLoadUnits() OptionalProperty + // GetNextStoppingFloor returns NextStoppingFloor (property field) + GetNextStoppingFloor() OptionalProperty + // GetPassengerAlarm returns PassengerAlarm (property field) + GetPassengerAlarm() ReadableProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetEnergyMeter returns EnergyMeter (property field) + GetEnergyMeter() OptionalProperty + // GetEnergyMeterRef returns EnergyMeterRef (property field) + GetEnergyMeterRef() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetCarDriveStatus returns CarDriveStatus (property field) + GetCarDriveStatus() OptionalProperty + // GetFaultSignals returns FaultSignals (property field) + GetFaultSignals() ReadableProperty + // GetLandingDoorStatus returns LandingDoorStatus (property field) + GetLandingDoorStatus() OptionalProperty + // GetHigherDeck returns HigherDeck (property field) + GetHigherDeck() OptionalProperty + // GetLowerDeck returns LowerDeck (property field) + GetLowerDeck() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsLift is a marker method to prevent unintentional type checks (interfaces of same signature) + IsLift() + // CreateBuilder creates a LiftBuilder + CreateLiftBuilder() LiftBuilder +} + +// _Lift is the data-structure of this message +type _Lift struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + ElevatorGroup ReadableProperty + GroupID ReadableProperty + InstallationID ReadableProperty + FloorText OptionalProperty + CarDoorText OptionalProperty + AssignedLandingCalls OptionalProperty + MakingCarCall OptionalProperty + RegisteredCarCall OptionalProperty + CarPosition ReadableProperty + CarMovingDirection ReadableProperty + CarAssignedDirection OptionalProperty + CarDoorStatus ReadableProperty + CarDoorCommand OptionalProperty + CarDoorZone OptionalProperty + CarMode OptionalProperty + CarLoad OptionalProperty + CarLoadUnits OptionalProperty + NextStoppingFloor OptionalProperty + PassengerAlarm ReadableProperty + TimeDelay OptionalProperty + TimeDelayNormal OptionalProperty + EnergyMeter OptionalProperty + EnergyMeterRef OptionalProperty + Reliability OptionalProperty + OutOfService ReadableProperty + CarDriveStatus OptionalProperty + FaultSignals ReadableProperty + LandingDoorStatus OptionalProperty + HigherDeck OptionalProperty + LowerDeck OptionalProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + EventState OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Lift = (*_Lift)(nil) + +// NewLift factory function for _Lift +func NewLift(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, elevatorGroup ReadableProperty, groupID ReadableProperty, installationID ReadableProperty, floorText OptionalProperty, carDoorText OptionalProperty, assignedLandingCalls OptionalProperty, makingCarCall OptionalProperty, registeredCarCall OptionalProperty, carPosition ReadableProperty, carMovingDirection ReadableProperty, carAssignedDirection OptionalProperty, carDoorStatus ReadableProperty, carDoorCommand OptionalProperty, carDoorZone OptionalProperty, carMode OptionalProperty, carLoad OptionalProperty, carLoadUnits OptionalProperty, nextStoppingFloor OptionalProperty, passengerAlarm ReadableProperty, timeDelay OptionalProperty, timeDelayNormal OptionalProperty, energyMeter OptionalProperty, energyMeterRef OptionalProperty, reliability OptionalProperty, outOfService ReadableProperty, carDriveStatus OptionalProperty, faultSignals ReadableProperty, landingDoorStatus OptionalProperty, higherDeck OptionalProperty, lowerDeck OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Lift { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Lift must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Lift must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Lift must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Lift must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for Lift must not be nil") + } + if elevatorGroup == nil { + panic("elevatorGroup of type ReadableProperty for Lift must not be nil") + } + if groupID == nil { + panic("groupID of type ReadableProperty for Lift must not be nil") + } + if installationID == nil { + panic("installationID of type ReadableProperty for Lift must not be nil") + } + if floorText == nil { + panic("floorText of type OptionalProperty for Lift must not be nil") + } + if carDoorText == nil { + panic("carDoorText of type OptionalProperty for Lift must not be nil") + } + if assignedLandingCalls == nil { + panic("assignedLandingCalls of type OptionalProperty for Lift must not be nil") + } + if makingCarCall == nil { + panic("makingCarCall of type OptionalProperty for Lift must not be nil") + } + if registeredCarCall == nil { + panic("registeredCarCall of type OptionalProperty for Lift must not be nil") + } + if carPosition == nil { + panic("carPosition of type ReadableProperty for Lift must not be nil") + } + if carMovingDirection == nil { + panic("carMovingDirection of type ReadableProperty for Lift must not be nil") + } + if carAssignedDirection == nil { + panic("carAssignedDirection of type OptionalProperty for Lift must not be nil") + } + if carDoorStatus == nil { + panic("carDoorStatus of type ReadableProperty for Lift must not be nil") + } + if carDoorCommand == nil { + panic("carDoorCommand of type OptionalProperty for Lift must not be nil") + } + if carDoorZone == nil { + panic("carDoorZone of type OptionalProperty for Lift must not be nil") + } + if carMode == nil { + panic("carMode of type OptionalProperty for Lift must not be nil") + } + if carLoad == nil { + panic("carLoad of type OptionalProperty for Lift must not be nil") + } + if carLoadUnits == nil { + panic("carLoadUnits of type OptionalProperty for Lift must not be nil") + } + if nextStoppingFloor == nil { + panic("nextStoppingFloor of type OptionalProperty for Lift must not be nil") + } + if passengerAlarm == nil { + panic("passengerAlarm of type ReadableProperty for Lift must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for Lift must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for Lift must not be nil") + } + if energyMeter == nil { + panic("energyMeter of type OptionalProperty for Lift must not be nil") + } + if energyMeterRef == nil { + panic("energyMeterRef of type OptionalProperty for Lift must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for Lift must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for Lift must not be nil") + } + if carDriveStatus == nil { + panic("carDriveStatus of type OptionalProperty for Lift must not be nil") + } + if faultSignals == nil { + panic("faultSignals of type ReadableProperty for Lift must not be nil") + } + if landingDoorStatus == nil { + panic("landingDoorStatus of type OptionalProperty for Lift must not be nil") + } + if higherDeck == nil { + panic("higherDeck of type OptionalProperty for Lift must not be nil") + } + if lowerDeck == nil { + panic("lowerDeck of type OptionalProperty for Lift must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Lift must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Lift must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Lift must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for Lift must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Lift must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Lift must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Lift must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Lift must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Lift must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for Lift must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for Lift must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Lift must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Lift must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Lift must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Lift must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Lift must not be nil") + } + return &_Lift{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, StatusFlags: statusFlags, ElevatorGroup: elevatorGroup, GroupID: groupID, InstallationID: installationID, FloorText: floorText, CarDoorText: carDoorText, AssignedLandingCalls: assignedLandingCalls, MakingCarCall: makingCarCall, RegisteredCarCall: registeredCarCall, CarPosition: carPosition, CarMovingDirection: carMovingDirection, CarAssignedDirection: carAssignedDirection, CarDoorStatus: carDoorStatus, CarDoorCommand: carDoorCommand, CarDoorZone: carDoorZone, CarMode: carMode, CarLoad: carLoad, CarLoadUnits: carLoadUnits, NextStoppingFloor: nextStoppingFloor, PassengerAlarm: passengerAlarm, TimeDelay: timeDelay, TimeDelayNormal: timeDelayNormal, EnergyMeter: energyMeter, EnergyMeterRef: energyMeterRef, Reliability: reliability, OutOfService: outOfService, CarDriveStatus: carDriveStatus, FaultSignals: faultSignals, LandingDoorStatus: landingDoorStatus, HigherDeck: higherDeck, LowerDeck: lowerDeck, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, EventState: eventState, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// LiftBuilder is a builder for Lift +type LiftBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, elevatorGroup ReadableProperty, groupID ReadableProperty, installationID ReadableProperty, floorText OptionalProperty, carDoorText OptionalProperty, assignedLandingCalls OptionalProperty, makingCarCall OptionalProperty, registeredCarCall OptionalProperty, carPosition ReadableProperty, carMovingDirection ReadableProperty, carAssignedDirection OptionalProperty, carDoorStatus ReadableProperty, carDoorCommand OptionalProperty, carDoorZone OptionalProperty, carMode OptionalProperty, carLoad OptionalProperty, carLoadUnits OptionalProperty, nextStoppingFloor OptionalProperty, passengerAlarm ReadableProperty, timeDelay OptionalProperty, timeDelayNormal OptionalProperty, energyMeter OptionalProperty, energyMeterRef OptionalProperty, reliability OptionalProperty, outOfService ReadableProperty, carDriveStatus OptionalProperty, faultSignals ReadableProperty, landingDoorStatus OptionalProperty, higherDeck OptionalProperty, lowerDeck OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LiftBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) LiftBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) LiftBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) LiftBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) LiftBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) LiftBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithElevatorGroup adds ElevatorGroup (property field) + WithElevatorGroup(ReadableProperty) LiftBuilder + // WithElevatorGroupBuilder adds ElevatorGroup (property field) which is build by the builder + WithElevatorGroupBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithGroupID adds GroupID (property field) + WithGroupID(ReadableProperty) LiftBuilder + // WithGroupIDBuilder adds GroupID (property field) which is build by the builder + WithGroupIDBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithInstallationID adds InstallationID (property field) + WithInstallationID(ReadableProperty) LiftBuilder + // WithInstallationIDBuilder adds InstallationID (property field) which is build by the builder + WithInstallationIDBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithFloorText adds FloorText (property field) + WithFloorText(OptionalProperty) LiftBuilder + // WithFloorTextBuilder adds FloorText (property field) which is build by the builder + WithFloorTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithCarDoorText adds CarDoorText (property field) + WithCarDoorText(OptionalProperty) LiftBuilder + // WithCarDoorTextBuilder adds CarDoorText (property field) which is build by the builder + WithCarDoorTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithAssignedLandingCalls adds AssignedLandingCalls (property field) + WithAssignedLandingCalls(OptionalProperty) LiftBuilder + // WithAssignedLandingCallsBuilder adds AssignedLandingCalls (property field) which is build by the builder + WithAssignedLandingCallsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithMakingCarCall adds MakingCarCall (property field) + WithMakingCarCall(OptionalProperty) LiftBuilder + // WithMakingCarCallBuilder adds MakingCarCall (property field) which is build by the builder + WithMakingCarCallBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithRegisteredCarCall adds RegisteredCarCall (property field) + WithRegisteredCarCall(OptionalProperty) LiftBuilder + // WithRegisteredCarCallBuilder adds RegisteredCarCall (property field) which is build by the builder + WithRegisteredCarCallBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithCarPosition adds CarPosition (property field) + WithCarPosition(ReadableProperty) LiftBuilder + // WithCarPositionBuilder adds CarPosition (property field) which is build by the builder + WithCarPositionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithCarMovingDirection adds CarMovingDirection (property field) + WithCarMovingDirection(ReadableProperty) LiftBuilder + // WithCarMovingDirectionBuilder adds CarMovingDirection (property field) which is build by the builder + WithCarMovingDirectionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithCarAssignedDirection adds CarAssignedDirection (property field) + WithCarAssignedDirection(OptionalProperty) LiftBuilder + // WithCarAssignedDirectionBuilder adds CarAssignedDirection (property field) which is build by the builder + WithCarAssignedDirectionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithCarDoorStatus adds CarDoorStatus (property field) + WithCarDoorStatus(ReadableProperty) LiftBuilder + // WithCarDoorStatusBuilder adds CarDoorStatus (property field) which is build by the builder + WithCarDoorStatusBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithCarDoorCommand adds CarDoorCommand (property field) + WithCarDoorCommand(OptionalProperty) LiftBuilder + // WithCarDoorCommandBuilder adds CarDoorCommand (property field) which is build by the builder + WithCarDoorCommandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithCarDoorZone adds CarDoorZone (property field) + WithCarDoorZone(OptionalProperty) LiftBuilder + // WithCarDoorZoneBuilder adds CarDoorZone (property field) which is build by the builder + WithCarDoorZoneBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithCarMode adds CarMode (property field) + WithCarMode(OptionalProperty) LiftBuilder + // WithCarModeBuilder adds CarMode (property field) which is build by the builder + WithCarModeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithCarLoad adds CarLoad (property field) + WithCarLoad(OptionalProperty) LiftBuilder + // WithCarLoadBuilder adds CarLoad (property field) which is build by the builder + WithCarLoadBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithCarLoadUnits adds CarLoadUnits (property field) + WithCarLoadUnits(OptionalProperty) LiftBuilder + // WithCarLoadUnitsBuilder adds CarLoadUnits (property field) which is build by the builder + WithCarLoadUnitsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithNextStoppingFloor adds NextStoppingFloor (property field) + WithNextStoppingFloor(OptionalProperty) LiftBuilder + // WithNextStoppingFloorBuilder adds NextStoppingFloor (property field) which is build by the builder + WithNextStoppingFloorBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithPassengerAlarm adds PassengerAlarm (property field) + WithPassengerAlarm(ReadableProperty) LiftBuilder + // WithPassengerAlarmBuilder adds PassengerAlarm (property field) which is build by the builder + WithPassengerAlarmBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) LiftBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) LiftBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEnergyMeter adds EnergyMeter (property field) + WithEnergyMeter(OptionalProperty) LiftBuilder + // WithEnergyMeterBuilder adds EnergyMeter (property field) which is build by the builder + WithEnergyMeterBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEnergyMeterRef adds EnergyMeterRef (property field) + WithEnergyMeterRef(OptionalProperty) LiftBuilder + // WithEnergyMeterRefBuilder adds EnergyMeterRef (property field) which is build by the builder + WithEnergyMeterRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) LiftBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) LiftBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithCarDriveStatus adds CarDriveStatus (property field) + WithCarDriveStatus(OptionalProperty) LiftBuilder + // WithCarDriveStatusBuilder adds CarDriveStatus (property field) which is build by the builder + WithCarDriveStatusBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithFaultSignals adds FaultSignals (property field) + WithFaultSignals(ReadableProperty) LiftBuilder + // WithFaultSignalsBuilder adds FaultSignals (property field) which is build by the builder + WithFaultSignalsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithLandingDoorStatus adds LandingDoorStatus (property field) + WithLandingDoorStatus(OptionalProperty) LiftBuilder + // WithLandingDoorStatusBuilder adds LandingDoorStatus (property field) which is build by the builder + WithLandingDoorStatusBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithHigherDeck adds HigherDeck (property field) + WithHigherDeck(OptionalProperty) LiftBuilder + // WithHigherDeckBuilder adds HigherDeck (property field) which is build by the builder + WithHigherDeckBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithLowerDeck adds LowerDeck (property field) + WithLowerDeck(OptionalProperty) LiftBuilder + // WithLowerDeckBuilder adds LowerDeck (property field) which is build by the builder + WithLowerDeckBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) LiftBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) LiftBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) LiftBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) LiftBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) LiftBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) LiftBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) LiftBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) LiftBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) LiftBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) LiftBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) LiftBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) LiftBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) LiftBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) LiftBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) LiftBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) LiftBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder + // Build builds the Lift or returns an error if something is wrong + Build() (Lift, error) + // MustBuild does the same as Build but panics on error + MustBuild() Lift +} + +// NewLiftBuilder() creates a LiftBuilder +func NewLiftBuilder() LiftBuilder { + return &_LiftBuilder{_Lift: new(_Lift)} +} + +type _LiftBuilder struct { + *_Lift + + err *utils.MultiError +} + +var _ (LiftBuilder) = (*_LiftBuilder)(nil) + +func (b *_LiftBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, elevatorGroup ReadableProperty, groupID ReadableProperty, installationID ReadableProperty, floorText OptionalProperty, carDoorText OptionalProperty, assignedLandingCalls OptionalProperty, makingCarCall OptionalProperty, registeredCarCall OptionalProperty, carPosition ReadableProperty, carMovingDirection ReadableProperty, carAssignedDirection OptionalProperty, carDoorStatus ReadableProperty, carDoorCommand OptionalProperty, carDoorZone OptionalProperty, carMode OptionalProperty, carLoad OptionalProperty, carLoadUnits OptionalProperty, nextStoppingFloor OptionalProperty, passengerAlarm ReadableProperty, timeDelay OptionalProperty, timeDelayNormal OptionalProperty, energyMeter OptionalProperty, energyMeterRef OptionalProperty, reliability OptionalProperty, outOfService ReadableProperty, carDriveStatus OptionalProperty, faultSignals ReadableProperty, landingDoorStatus OptionalProperty, higherDeck OptionalProperty, lowerDeck OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LiftBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithStatusFlags(statusFlags).WithElevatorGroup(elevatorGroup).WithGroupID(groupID).WithInstallationID(installationID).WithFloorText(floorText).WithCarDoorText(carDoorText).WithAssignedLandingCalls(assignedLandingCalls).WithMakingCarCall(makingCarCall).WithRegisteredCarCall(registeredCarCall).WithCarPosition(carPosition).WithCarMovingDirection(carMovingDirection).WithCarAssignedDirection(carAssignedDirection).WithCarDoorStatus(carDoorStatus).WithCarDoorCommand(carDoorCommand).WithCarDoorZone(carDoorZone).WithCarMode(carMode).WithCarLoad(carLoad).WithCarLoadUnits(carLoadUnits).WithNextStoppingFloor(nextStoppingFloor).WithPassengerAlarm(passengerAlarm).WithTimeDelay(timeDelay).WithTimeDelayNormal(timeDelayNormal).WithEnergyMeter(energyMeter).WithEnergyMeterRef(energyMeterRef).WithReliability(reliability).WithOutOfService(outOfService).WithCarDriveStatus(carDriveStatus).WithFaultSignals(faultSignals).WithLandingDoorStatus(landingDoorStatus).WithHigherDeck(higherDeck).WithLowerDeck(lowerDeck).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithEventState(eventState).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_LiftBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) LiftBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_LiftBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithObjectName(objectName ReadableProperty) LiftBuilder { + b.ObjectName = objectName + return b +} + +func (b *_LiftBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithObjectType(objectType ReadableProperty) LiftBuilder { + b.ObjectType = objectType + return b +} + +func (b *_LiftBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithDescription(description OptionalProperty) LiftBuilder { + b.Description = description + return b +} + +func (b *_LiftBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithStatusFlags(statusFlags ReadableProperty) LiftBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_LiftBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithElevatorGroup(elevatorGroup ReadableProperty) LiftBuilder { + b.ElevatorGroup = elevatorGroup + return b +} + +func (b *_LiftBuilder) WithElevatorGroupBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.ElevatorGroup.CreateReadablePropertyBuilder()) + var err error + b.ElevatorGroup, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithGroupID(groupID ReadableProperty) LiftBuilder { + b.GroupID = groupID + return b +} + +func (b *_LiftBuilder) WithGroupIDBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.GroupID.CreateReadablePropertyBuilder()) + var err error + b.GroupID, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithInstallationID(installationID ReadableProperty) LiftBuilder { + b.InstallationID = installationID + return b +} + +func (b *_LiftBuilder) WithInstallationIDBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.InstallationID.CreateReadablePropertyBuilder()) + var err error + b.InstallationID, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithFloorText(floorText OptionalProperty) LiftBuilder { + b.FloorText = floorText + return b +} + +func (b *_LiftBuilder) WithFloorTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.FloorText.CreateOptionalPropertyBuilder()) + var err error + b.FloorText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarDoorText(carDoorText OptionalProperty) LiftBuilder { + b.CarDoorText = carDoorText + return b +} + +func (b *_LiftBuilder) WithCarDoorTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarDoorText.CreateOptionalPropertyBuilder()) + var err error + b.CarDoorText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithAssignedLandingCalls(assignedLandingCalls OptionalProperty) LiftBuilder { + b.AssignedLandingCalls = assignedLandingCalls + return b +} + +func (b *_LiftBuilder) WithAssignedLandingCallsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.AssignedLandingCalls.CreateOptionalPropertyBuilder()) + var err error + b.AssignedLandingCalls, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithMakingCarCall(makingCarCall OptionalProperty) LiftBuilder { + b.MakingCarCall = makingCarCall + return b +} + +func (b *_LiftBuilder) WithMakingCarCallBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.MakingCarCall.CreateOptionalPropertyBuilder()) + var err error + b.MakingCarCall, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithRegisteredCarCall(registeredCarCall OptionalProperty) LiftBuilder { + b.RegisteredCarCall = registeredCarCall + return b +} + +func (b *_LiftBuilder) WithRegisteredCarCallBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.RegisteredCarCall.CreateOptionalPropertyBuilder()) + var err error + b.RegisteredCarCall, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarPosition(carPosition ReadableProperty) LiftBuilder { + b.CarPosition = carPosition + return b +} + +func (b *_LiftBuilder) WithCarPositionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarPosition.CreateReadablePropertyBuilder()) + var err error + b.CarPosition, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarMovingDirection(carMovingDirection ReadableProperty) LiftBuilder { + b.CarMovingDirection = carMovingDirection + return b +} + +func (b *_LiftBuilder) WithCarMovingDirectionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarMovingDirection.CreateReadablePropertyBuilder()) + var err error + b.CarMovingDirection, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarAssignedDirection(carAssignedDirection OptionalProperty) LiftBuilder { + b.CarAssignedDirection = carAssignedDirection + return b +} + +func (b *_LiftBuilder) WithCarAssignedDirectionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarAssignedDirection.CreateOptionalPropertyBuilder()) + var err error + b.CarAssignedDirection, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarDoorStatus(carDoorStatus ReadableProperty) LiftBuilder { + b.CarDoorStatus = carDoorStatus + return b +} + +func (b *_LiftBuilder) WithCarDoorStatusBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarDoorStatus.CreateReadablePropertyBuilder()) + var err error + b.CarDoorStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarDoorCommand(carDoorCommand OptionalProperty) LiftBuilder { + b.CarDoorCommand = carDoorCommand + return b +} + +func (b *_LiftBuilder) WithCarDoorCommandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarDoorCommand.CreateOptionalPropertyBuilder()) + var err error + b.CarDoorCommand, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarDoorZone(carDoorZone OptionalProperty) LiftBuilder { + b.CarDoorZone = carDoorZone + return b +} + +func (b *_LiftBuilder) WithCarDoorZoneBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarDoorZone.CreateOptionalPropertyBuilder()) + var err error + b.CarDoorZone, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarMode(carMode OptionalProperty) LiftBuilder { + b.CarMode = carMode + return b +} + +func (b *_LiftBuilder) WithCarModeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarMode.CreateOptionalPropertyBuilder()) + var err error + b.CarMode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarLoad(carLoad OptionalProperty) LiftBuilder { + b.CarLoad = carLoad + return b +} + +func (b *_LiftBuilder) WithCarLoadBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarLoad.CreateOptionalPropertyBuilder()) + var err error + b.CarLoad, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarLoadUnits(carLoadUnits OptionalProperty) LiftBuilder { + b.CarLoadUnits = carLoadUnits + return b +} + +func (b *_LiftBuilder) WithCarLoadUnitsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarLoadUnits.CreateOptionalPropertyBuilder()) + var err error + b.CarLoadUnits, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithNextStoppingFloor(nextStoppingFloor OptionalProperty) LiftBuilder { + b.NextStoppingFloor = nextStoppingFloor + return b +} + +func (b *_LiftBuilder) WithNextStoppingFloorBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.NextStoppingFloor.CreateOptionalPropertyBuilder()) + var err error + b.NextStoppingFloor, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithPassengerAlarm(passengerAlarm ReadableProperty) LiftBuilder { + b.PassengerAlarm = passengerAlarm + return b +} + +func (b *_LiftBuilder) WithPassengerAlarmBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.PassengerAlarm.CreateReadablePropertyBuilder()) + var err error + b.PassengerAlarm, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithTimeDelay(timeDelay OptionalProperty) LiftBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_LiftBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) LiftBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_LiftBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEnergyMeter(energyMeter OptionalProperty) LiftBuilder { + b.EnergyMeter = energyMeter + return b +} + +func (b *_LiftBuilder) WithEnergyMeterBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EnergyMeter.CreateOptionalPropertyBuilder()) + var err error + b.EnergyMeter, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEnergyMeterRef(energyMeterRef OptionalProperty) LiftBuilder { + b.EnergyMeterRef = energyMeterRef + return b +} + +func (b *_LiftBuilder) WithEnergyMeterRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EnergyMeterRef.CreateOptionalPropertyBuilder()) + var err error + b.EnergyMeterRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithReliability(reliability OptionalProperty) LiftBuilder { + b.Reliability = reliability + return b +} + +func (b *_LiftBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithOutOfService(outOfService ReadableProperty) LiftBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_LiftBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithCarDriveStatus(carDriveStatus OptionalProperty) LiftBuilder { + b.CarDriveStatus = carDriveStatus + return b +} + +func (b *_LiftBuilder) WithCarDriveStatusBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.CarDriveStatus.CreateOptionalPropertyBuilder()) + var err error + b.CarDriveStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithFaultSignals(faultSignals ReadableProperty) LiftBuilder { + b.FaultSignals = faultSignals + return b +} + +func (b *_LiftBuilder) WithFaultSignalsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.FaultSignals.CreateReadablePropertyBuilder()) + var err error + b.FaultSignals, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithLandingDoorStatus(landingDoorStatus OptionalProperty) LiftBuilder { + b.LandingDoorStatus = landingDoorStatus + return b +} + +func (b *_LiftBuilder) WithLandingDoorStatusBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.LandingDoorStatus.CreateOptionalPropertyBuilder()) + var err error + b.LandingDoorStatus, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithHigherDeck(higherDeck OptionalProperty) LiftBuilder { + b.HigherDeck = higherDeck + return b +} + +func (b *_LiftBuilder) WithHigherDeckBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.HigherDeck.CreateOptionalPropertyBuilder()) + var err error + b.HigherDeck, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithLowerDeck(lowerDeck OptionalProperty) LiftBuilder { + b.LowerDeck = lowerDeck + return b +} + +func (b *_LiftBuilder) WithLowerDeckBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.LowerDeck.CreateOptionalPropertyBuilder()) + var err error + b.LowerDeck, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) LiftBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_LiftBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithNotificationClass(notificationClass OptionalProperty) LiftBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_LiftBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEventEnable(eventEnable OptionalProperty) LiftBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_LiftBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEventState(eventState OptionalProperty) LiftBuilder { + b.EventState = eventState + return b +} + +func (b *_LiftBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) LiftBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_LiftBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithNotifyType(notifyType OptionalProperty) LiftBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_LiftBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) LiftBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_LiftBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) LiftBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_LiftBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) LiftBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_LiftBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) LiftBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_LiftBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) LiftBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_LiftBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) LiftBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_LiftBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithPropertyList(propertyList ReadableProperty) LiftBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_LiftBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LiftBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithTags(tags OptionalProperty) LiftBuilder { + b.Tags = tags + return b +} + +func (b *_LiftBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithProfileLocation(profileLocation OptionalProperty) LiftBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_LiftBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) WithProfileName(profileName OptionalProperty) LiftBuilder { + b.ProfileName = profileName + return b +} + +func (b *_LiftBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LiftBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LiftBuilder) Build() (Lift, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.ElevatorGroup == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'elevatorGroup' not set")) + } + if b.GroupID == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'groupID' not set")) + } + if b.InstallationID == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'installationID' not set")) + } + if b.FloorText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'floorText' not set")) + } + if b.CarDoorText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carDoorText' not set")) + } + if b.AssignedLandingCalls == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'assignedLandingCalls' not set")) + } + if b.MakingCarCall == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'makingCarCall' not set")) + } + if b.RegisteredCarCall == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'registeredCarCall' not set")) + } + if b.CarPosition == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carPosition' not set")) + } + if b.CarMovingDirection == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carMovingDirection' not set")) + } + if b.CarAssignedDirection == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carAssignedDirection' not set")) + } + if b.CarDoorStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carDoorStatus' not set")) + } + if b.CarDoorCommand == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carDoorCommand' not set")) + } + if b.CarDoorZone == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carDoorZone' not set")) + } + if b.CarMode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carMode' not set")) + } + if b.CarLoad == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carLoad' not set")) + } + if b.CarLoadUnits == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carLoadUnits' not set")) + } + if b.NextStoppingFloor == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'nextStoppingFloor' not set")) + } + if b.PassengerAlarm == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'passengerAlarm' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.EnergyMeter == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'energyMeter' not set")) + } + if b.EnergyMeterRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'energyMeterRef' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.CarDriveStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'carDriveStatus' not set")) + } + if b.FaultSignals == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultSignals' not set")) + } + if b.LandingDoorStatus == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'landingDoorStatus' not set")) + } + if b.HigherDeck == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'higherDeck' not set")) + } + if b.LowerDeck == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowerDeck' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Lift.deepCopy(), nil +} + +func (b *_LiftBuilder) MustBuild() Lift { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_LiftBuilder) DeepCopy() any { + _copy := b.CreateLiftBuilder().(*_LiftBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateLiftBuilder creates a LiftBuilder +func (b *_Lift) CreateLiftBuilder() LiftBuilder { + if b == nil { + return NewLiftBuilder() + } + return &_LiftBuilder{_Lift: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Lift) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Lift) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Lift) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Lift) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Lift) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_Lift) GetElevatorGroup() ReadableProperty { + return m.ElevatorGroup +} + +func (m *_Lift) GetGroupID() ReadableProperty { + return m.GroupID +} + +func (m *_Lift) GetInstallationID() ReadableProperty { + return m.InstallationID +} + +func (m *_Lift) GetFloorText() OptionalProperty { + return m.FloorText +} + +func (m *_Lift) GetCarDoorText() OptionalProperty { + return m.CarDoorText +} + +func (m *_Lift) GetAssignedLandingCalls() OptionalProperty { + return m.AssignedLandingCalls +} + +func (m *_Lift) GetMakingCarCall() OptionalProperty { + return m.MakingCarCall +} + +func (m *_Lift) GetRegisteredCarCall() OptionalProperty { + return m.RegisteredCarCall +} + +func (m *_Lift) GetCarPosition() ReadableProperty { + return m.CarPosition +} + +func (m *_Lift) GetCarMovingDirection() ReadableProperty { + return m.CarMovingDirection +} + +func (m *_Lift) GetCarAssignedDirection() OptionalProperty { + return m.CarAssignedDirection +} + +func (m *_Lift) GetCarDoorStatus() ReadableProperty { + return m.CarDoorStatus +} + +func (m *_Lift) GetCarDoorCommand() OptionalProperty { + return m.CarDoorCommand +} + +func (m *_Lift) GetCarDoorZone() OptionalProperty { + return m.CarDoorZone +} + +func (m *_Lift) GetCarMode() OptionalProperty { + return m.CarMode +} + +func (m *_Lift) GetCarLoad() OptionalProperty { + return m.CarLoad +} + +func (m *_Lift) GetCarLoadUnits() OptionalProperty { + return m.CarLoadUnits +} + +func (m *_Lift) GetNextStoppingFloor() OptionalProperty { + return m.NextStoppingFloor +} + +func (m *_Lift) GetPassengerAlarm() ReadableProperty { + return m.PassengerAlarm +} + +func (m *_Lift) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_Lift) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_Lift) GetEnergyMeter() OptionalProperty { + return m.EnergyMeter +} + +func (m *_Lift) GetEnergyMeterRef() OptionalProperty { + return m.EnergyMeterRef +} + +func (m *_Lift) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_Lift) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_Lift) GetCarDriveStatus() OptionalProperty { + return m.CarDriveStatus +} + +func (m *_Lift) GetFaultSignals() ReadableProperty { + return m.FaultSignals +} + +func (m *_Lift) GetLandingDoorStatus() OptionalProperty { + return m.LandingDoorStatus +} + +func (m *_Lift) GetHigherDeck() OptionalProperty { + return m.HigherDeck +} + +func (m *_Lift) GetLowerDeck() OptionalProperty { + return m.LowerDeck +} + +func (m *_Lift) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Lift) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Lift) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Lift) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_Lift) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Lift) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Lift) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Lift) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Lift) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Lift) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_Lift) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_Lift) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Lift) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Lift) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Lift) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Lift) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastLift(structType any) Lift { + if casted, ok := structType.(Lift); ok { + return casted + } + if casted, ok := structType.(*Lift); ok { + return *casted + } + return nil +} + +func (m *_Lift) GetTypeName() string { + return "Lift" +} + +func (m *_Lift) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (elevatorGroup) + lengthInBits += m.ElevatorGroup.GetLengthInBits(ctx) + + // Simple field (groupID) + lengthInBits += m.GroupID.GetLengthInBits(ctx) + + // Simple field (installationID) + lengthInBits += m.InstallationID.GetLengthInBits(ctx) + + // Simple field (floorText) + lengthInBits += m.FloorText.GetLengthInBits(ctx) + + // Simple field (carDoorText) + lengthInBits += m.CarDoorText.GetLengthInBits(ctx) + + // Simple field (assignedLandingCalls) + lengthInBits += m.AssignedLandingCalls.GetLengthInBits(ctx) + + // Simple field (makingCarCall) + lengthInBits += m.MakingCarCall.GetLengthInBits(ctx) + + // Simple field (registeredCarCall) + lengthInBits += m.RegisteredCarCall.GetLengthInBits(ctx) + + // Simple field (carPosition) + lengthInBits += m.CarPosition.GetLengthInBits(ctx) + + // Simple field (carMovingDirection) + lengthInBits += m.CarMovingDirection.GetLengthInBits(ctx) + + // Simple field (carAssignedDirection) + lengthInBits += m.CarAssignedDirection.GetLengthInBits(ctx) + + // Simple field (carDoorStatus) + lengthInBits += m.CarDoorStatus.GetLengthInBits(ctx) + + // Simple field (carDoorCommand) + lengthInBits += m.CarDoorCommand.GetLengthInBits(ctx) + + // Simple field (carDoorZone) + lengthInBits += m.CarDoorZone.GetLengthInBits(ctx) + + // Simple field (carMode) + lengthInBits += m.CarMode.GetLengthInBits(ctx) + + // Simple field (carLoad) + lengthInBits += m.CarLoad.GetLengthInBits(ctx) + + // Simple field (carLoadUnits) + lengthInBits += m.CarLoadUnits.GetLengthInBits(ctx) + + // Simple field (nextStoppingFloor) + lengthInBits += m.NextStoppingFloor.GetLengthInBits(ctx) + + // Simple field (passengerAlarm) + lengthInBits += m.PassengerAlarm.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (energyMeter) + lengthInBits += m.EnergyMeter.GetLengthInBits(ctx) + + // Simple field (energyMeterRef) + lengthInBits += m.EnergyMeterRef.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (carDriveStatus) + lengthInBits += m.CarDriveStatus.GetLengthInBits(ctx) + + // Simple field (faultSignals) + lengthInBits += m.FaultSignals.GetLengthInBits(ctx) + + // Simple field (landingDoorStatus) + lengthInBits += m.LandingDoorStatus.GetLengthInBits(ctx) + + // Simple field (higherDeck) + lengthInBits += m.HigherDeck.GetLengthInBits(ctx) + + // Simple field (lowerDeck) + lengthInBits += m.LowerDeck.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Lift) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func LiftParse(ctx context.Context, theBytes []byte) (Lift, error) { + return LiftParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func LiftParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Lift, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Lift, error) { + return LiftParseWithBuffer(ctx, readBuffer) + } +} + +func LiftParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Lift, error) { + v, err := (&_Lift{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Lift) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__lift Lift, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Lift"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Lift") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + elevatorGroup, err := ReadSimpleField[ReadableProperty](ctx, "elevatorGroup", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'elevatorGroup' field")) + } + m.ElevatorGroup = elevatorGroup + + groupID, err := ReadSimpleField[ReadableProperty](ctx, "groupID", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'groupID' field")) + } + m.GroupID = groupID + + installationID, err := ReadSimpleField[ReadableProperty](ctx, "installationID", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'installationID' field")) + } + m.InstallationID = installationID + + floorText, err := ReadSimpleField[OptionalProperty](ctx, "floorText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'floorText' field")) + } + m.FloorText = floorText + + carDoorText, err := ReadSimpleField[OptionalProperty](ctx, "carDoorText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carDoorText' field")) + } + m.CarDoorText = carDoorText + + assignedLandingCalls, err := ReadSimpleField[OptionalProperty](ctx, "assignedLandingCalls", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetAssignedLandingCalls")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'assignedLandingCalls' field")) + } + m.AssignedLandingCalls = assignedLandingCalls + + makingCarCall, err := ReadSimpleField[OptionalProperty](ctx, "makingCarCall", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'makingCarCall' field")) + } + m.MakingCarCall = makingCarCall + + registeredCarCall, err := ReadSimpleField[OptionalProperty](ctx, "registeredCarCall", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetLiftCarCallList")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'registeredCarCall' field")) + } + m.RegisteredCarCall = registeredCarCall + + carPosition, err := ReadSimpleField[ReadableProperty](ctx, "carPosition", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carPosition' field")) + } + m.CarPosition = carPosition + + carMovingDirection, err := ReadSimpleField[ReadableProperty](ctx, "carMovingDirection", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLiftCarDirection")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carMovingDirection' field")) + } + m.CarMovingDirection = carMovingDirection + + carAssignedDirection, err := ReadSimpleField[OptionalProperty](ctx, "carAssignedDirection", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLiftCarDirection")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carAssignedDirection' field")) + } + m.CarAssignedDirection = carAssignedDirection + + carDoorStatus, err := ReadSimpleField[ReadableProperty](ctx, "carDoorStatus", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetDoorStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carDoorStatus' field")) + } + m.CarDoorStatus = carDoorStatus + + carDoorCommand, err := ReadSimpleField[OptionalProperty](ctx, "carDoorCommand", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetLiftCarDoorCommand")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carDoorCommand' field")) + } + m.CarDoorCommand = carDoorCommand + + carDoorZone, err := ReadSimpleField[OptionalProperty](ctx, "carDoorZone", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carDoorZone' field")) + } + m.CarDoorZone = carDoorZone + + carMode, err := ReadSimpleField[OptionalProperty](ctx, "carMode", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLiftCarMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carMode' field")) + } + m.CarMode = carMode + + carLoad, err := ReadSimpleField[OptionalProperty](ctx, "carLoad", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carLoad' field")) + } + m.CarLoad = carLoad + + carLoadUnits, err := ReadSimpleField[OptionalProperty](ctx, "carLoadUnits", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carLoadUnits' field")) + } + m.CarLoadUnits = carLoadUnits + + nextStoppingFloor, err := ReadSimpleField[OptionalProperty](ctx, "nextStoppingFloor", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'nextStoppingFloor' field")) + } + m.NextStoppingFloor = nextStoppingFloor + + passengerAlarm, err := ReadSimpleField[ReadableProperty](ctx, "passengerAlarm", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'passengerAlarm' field")) + } + m.PassengerAlarm = passengerAlarm + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + energyMeter, err := ReadSimpleField[OptionalProperty](ctx, "energyMeter", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'energyMeter' field")) + } + m.EnergyMeter = energyMeter + + energyMeterRef, err := ReadSimpleField[OptionalProperty](ctx, "energyMeterRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'energyMeterRef' field")) + } + m.EnergyMeterRef = energyMeterRef + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + carDriveStatus, err := ReadSimpleField[OptionalProperty](ctx, "carDriveStatus", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLiftCarDriveStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'carDriveStatus' field")) + } + m.CarDriveStatus = carDriveStatus + + faultSignals, err := ReadSimpleField[ReadableProperty](ctx, "faultSignals", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLiftFault")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultSignals' field")) + } + m.FaultSignals = faultSignals + + landingDoorStatus, err := ReadSimpleField[OptionalProperty](ctx, "landingDoorStatus", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetLandingDoorStatus")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'landingDoorStatus' field")) + } + m.LandingDoorStatus = landingDoorStatus + + higherDeck, err := ReadSimpleField[OptionalProperty](ctx, "higherDeck", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'higherDeck' field")) + } + m.HigherDeck = higherDeck + + lowerDeck, err := ReadSimpleField[OptionalProperty](ctx, "lowerDeck", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowerDeck' field")) + } + m.LowerDeck = lowerDeck + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Lift"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Lift") + } + + return m, nil +} + +func (m *_Lift) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Lift) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Lift"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Lift") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "elevatorGroup", m.GetElevatorGroup(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'elevatorGroup' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "groupID", m.GetGroupID(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'groupID' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "installationID", m.GetInstallationID(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'installationID' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "floorText", m.GetFloorText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'floorText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "carDoorText", m.GetCarDoorText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carDoorText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "assignedLandingCalls", m.GetAssignedLandingCalls(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'assignedLandingCalls' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "makingCarCall", m.GetMakingCarCall(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'makingCarCall' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "registeredCarCall", m.GetRegisteredCarCall(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'registeredCarCall' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "carPosition", m.GetCarPosition(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carPosition' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "carMovingDirection", m.GetCarMovingDirection(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carMovingDirection' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "carAssignedDirection", m.GetCarAssignedDirection(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carAssignedDirection' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "carDoorStatus", m.GetCarDoorStatus(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carDoorStatus' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "carDoorCommand", m.GetCarDoorCommand(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carDoorCommand' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "carDoorZone", m.GetCarDoorZone(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carDoorZone' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "carMode", m.GetCarMode(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carMode' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "carLoad", m.GetCarLoad(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carLoad' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "carLoadUnits", m.GetCarLoadUnits(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carLoadUnits' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "nextStoppingFloor", m.GetNextStoppingFloor(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'nextStoppingFloor' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "passengerAlarm", m.GetPassengerAlarm(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'passengerAlarm' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "energyMeter", m.GetEnergyMeter(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'energyMeter' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "energyMeterRef", m.GetEnergyMeterRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'energyMeterRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "carDriveStatus", m.GetCarDriveStatus(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'carDriveStatus' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "faultSignals", m.GetFaultSignals(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultSignals' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "landingDoorStatus", m.GetLandingDoorStatus(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'landingDoorStatus' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "higherDeck", m.GetHigherDeck(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'higherDeck' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowerDeck", m.GetLowerDeck(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowerDeck' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Lift"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Lift") + } + return nil +} + +func (m *_Lift) IsLift() {} + +func (m *_Lift) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Lift) deepCopy() *_Lift { + if m == nil { + return nil + } + _LiftCopy := &_Lift{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.ElevatorGroup.DeepCopy().(ReadableProperty), + m.GroupID.DeepCopy().(ReadableProperty), + m.InstallationID.DeepCopy().(ReadableProperty), + m.FloorText.DeepCopy().(OptionalProperty), + m.CarDoorText.DeepCopy().(OptionalProperty), + m.AssignedLandingCalls.DeepCopy().(OptionalProperty), + m.MakingCarCall.DeepCopy().(OptionalProperty), + m.RegisteredCarCall.DeepCopy().(OptionalProperty), + m.CarPosition.DeepCopy().(ReadableProperty), + m.CarMovingDirection.DeepCopy().(ReadableProperty), + m.CarAssignedDirection.DeepCopy().(OptionalProperty), + m.CarDoorStatus.DeepCopy().(ReadableProperty), + m.CarDoorCommand.DeepCopy().(OptionalProperty), + m.CarDoorZone.DeepCopy().(OptionalProperty), + m.CarMode.DeepCopy().(OptionalProperty), + m.CarLoad.DeepCopy().(OptionalProperty), + m.CarLoadUnits.DeepCopy().(OptionalProperty), + m.NextStoppingFloor.DeepCopy().(OptionalProperty), + m.PassengerAlarm.DeepCopy().(ReadableProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.EnergyMeter.DeepCopy().(OptionalProperty), + m.EnergyMeterRef.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.CarDriveStatus.DeepCopy().(OptionalProperty), + m.FaultSignals.DeepCopy().(ReadableProperty), + m.LandingDoorStatus.DeepCopy().(OptionalProperty), + m.HigherDeck.DeepCopy().(OptionalProperty), + m.LowerDeck.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _LiftCopy +} + +func (m *_Lift) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/LightingOutput.go b/plc4go/protocols/bacnetip/readwrite/model/LightingOutput.go new file mode 100644 index 00000000000..b2bec00cfac --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/LightingOutput.go @@ -0,0 +1,2172 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// LightingOutput is the corresponding interface of LightingOutput +type LightingOutput interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() WritableProperty + // GetTrackingValue returns TrackingValue (property field) + GetTrackingValue() ReadableProperty + // GetLightingCommand returns LightingCommand (property field) + GetLightingCommand() WritableProperty + // GetInProgress returns InProgress (property field) + GetInProgress() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetBlinkWarnEnable returns BlinkWarnEnable (property field) + GetBlinkWarnEnable() ReadableProperty + // GetEgressTime returns EgressTime (property field) + GetEgressTime() ReadableProperty + // GetEgressActive returns EgressActive (property field) + GetEgressActive() ReadableProperty + // GetDefaultFadeTime returns DefaultFadeTime (property field) + GetDefaultFadeTime() ReadableProperty + // GetDefaultRampRate returns DefaultRampRate (property field) + GetDefaultRampRate() ReadableProperty + // GetDefaultStepIncrement returns DefaultStepIncrement (property field) + GetDefaultStepIncrement() ReadableProperty + // GetTransition returns Transition (property field) + GetTransition() OptionalProperty + // GetFeedbackValue returns FeedbackValue (property field) + GetFeedbackValue() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() ReadableProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() ReadableProperty + // GetPower returns Power (property field) + GetPower() OptionalProperty + // GetInstantaneousPower returns InstantaneousPower (property field) + GetInstantaneousPower() OptionalProperty + // GetMinActualValue returns MinActualValue (property field) + GetMinActualValue() OptionalProperty + // GetMaxActualValue returns MaxActualValue (property field) + GetMaxActualValue() OptionalProperty + // GetLightingCommandDefaultPriority returns LightingCommandDefaultPriority (property field) + GetLightingCommandDefaultPriority() ReadableProperty + // GetCOVIncrement returns COVIncrement (property field) + GetCOVIncrement() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsLightingOutput is a marker method to prevent unintentional type checks (interfaces of same signature) + IsLightingOutput() + // CreateBuilder creates a LightingOutputBuilder + CreateLightingOutputBuilder() LightingOutputBuilder +} + +// _LightingOutput is the data-structure of this message +type _LightingOutput struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue WritableProperty + TrackingValue ReadableProperty + LightingCommand WritableProperty + InProgress ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + BlinkWarnEnable ReadableProperty + EgressTime ReadableProperty + EgressActive ReadableProperty + DefaultFadeTime ReadableProperty + DefaultRampRate ReadableProperty + DefaultStepIncrement ReadableProperty + Transition OptionalProperty + FeedbackValue OptionalProperty + PriorityArray ReadableProperty + RelinquishDefault ReadableProperty + Power OptionalProperty + InstantaneousPower OptionalProperty + MinActualValue OptionalProperty + MaxActualValue OptionalProperty + LightingCommandDefaultPriority ReadableProperty + COVIncrement OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + CurrentCommandPriority ReadableProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ LightingOutput = (*_LightingOutput)(nil) + +// NewLightingOutput factory function for _LightingOutput +func NewLightingOutput(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, trackingValue ReadableProperty, lightingCommand WritableProperty, inProgress ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, blinkWarnEnable ReadableProperty, egressTime ReadableProperty, egressActive ReadableProperty, defaultFadeTime ReadableProperty, defaultRampRate ReadableProperty, defaultStepIncrement ReadableProperty, transition OptionalProperty, feedbackValue OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, power OptionalProperty, instantaneousPower OptionalProperty, minActualValue OptionalProperty, maxActualValue OptionalProperty, lightingCommandDefaultPriority ReadableProperty, cOVIncrement OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_LightingOutput { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for LightingOutput must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for LightingOutput must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for LightingOutput must not be nil") + } + if presentValue == nil { + panic("presentValue of type WritableProperty for LightingOutput must not be nil") + } + if trackingValue == nil { + panic("trackingValue of type ReadableProperty for LightingOutput must not be nil") + } + if lightingCommand == nil { + panic("lightingCommand of type WritableProperty for LightingOutput must not be nil") + } + if inProgress == nil { + panic("inProgress of type ReadableProperty for LightingOutput must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for LightingOutput must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for LightingOutput must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for LightingOutput must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for LightingOutput must not be nil") + } + if blinkWarnEnable == nil { + panic("blinkWarnEnable of type ReadableProperty for LightingOutput must not be nil") + } + if egressTime == nil { + panic("egressTime of type ReadableProperty for LightingOutput must not be nil") + } + if egressActive == nil { + panic("egressActive of type ReadableProperty for LightingOutput must not be nil") + } + if defaultFadeTime == nil { + panic("defaultFadeTime of type ReadableProperty for LightingOutput must not be nil") + } + if defaultRampRate == nil { + panic("defaultRampRate of type ReadableProperty for LightingOutput must not be nil") + } + if defaultStepIncrement == nil { + panic("defaultStepIncrement of type ReadableProperty for LightingOutput must not be nil") + } + if transition == nil { + panic("transition of type OptionalProperty for LightingOutput must not be nil") + } + if feedbackValue == nil { + panic("feedbackValue of type OptionalProperty for LightingOutput must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type ReadableProperty for LightingOutput must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type ReadableProperty for LightingOutput must not be nil") + } + if power == nil { + panic("power of type OptionalProperty for LightingOutput must not be nil") + } + if instantaneousPower == nil { + panic("instantaneousPower of type OptionalProperty for LightingOutput must not be nil") + } + if minActualValue == nil { + panic("minActualValue of type OptionalProperty for LightingOutput must not be nil") + } + if maxActualValue == nil { + panic("maxActualValue of type OptionalProperty for LightingOutput must not be nil") + } + if lightingCommandDefaultPriority == nil { + panic("lightingCommandDefaultPriority of type ReadableProperty for LightingOutput must not be nil") + } + if cOVIncrement == nil { + panic("cOVIncrement of type OptionalProperty for LightingOutput must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for LightingOutput must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for LightingOutput must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type ReadableProperty for LightingOutput must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for LightingOutput must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for LightingOutput must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for LightingOutput must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for LightingOutput must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for LightingOutput must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for LightingOutput must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for LightingOutput must not be nil") + } + return &_LightingOutput{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, TrackingValue: trackingValue, LightingCommand: lightingCommand, InProgress: inProgress, Description: description, StatusFlags: statusFlags, Reliability: reliability, OutOfService: outOfService, BlinkWarnEnable: blinkWarnEnable, EgressTime: egressTime, EgressActive: egressActive, DefaultFadeTime: defaultFadeTime, DefaultRampRate: defaultRampRate, DefaultStepIncrement: defaultStepIncrement, Transition: transition, FeedbackValue: feedbackValue, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, Power: power, InstantaneousPower: instantaneousPower, MinActualValue: minActualValue, MaxActualValue: maxActualValue, LightingCommandDefaultPriority: lightingCommandDefaultPriority, COVIncrement: cOVIncrement, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// LightingOutputBuilder is a builder for LightingOutput +type LightingOutputBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, trackingValue ReadableProperty, lightingCommand WritableProperty, inProgress ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, blinkWarnEnable ReadableProperty, egressTime ReadableProperty, egressActive ReadableProperty, defaultFadeTime ReadableProperty, defaultRampRate ReadableProperty, defaultStepIncrement ReadableProperty, transition OptionalProperty, feedbackValue OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, power OptionalProperty, instantaneousPower OptionalProperty, minActualValue OptionalProperty, maxActualValue OptionalProperty, lightingCommandDefaultPriority ReadableProperty, cOVIncrement OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LightingOutputBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) LightingOutputBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) LightingOutputBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) LightingOutputBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(WritableProperty) LightingOutputBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LightingOutputBuilder + // WithTrackingValue adds TrackingValue (property field) + WithTrackingValue(ReadableProperty) LightingOutputBuilder + // WithTrackingValueBuilder adds TrackingValue (property field) which is build by the builder + WithTrackingValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithLightingCommand adds LightingCommand (property field) + WithLightingCommand(WritableProperty) LightingOutputBuilder + // WithLightingCommandBuilder adds LightingCommand (property field) which is build by the builder + WithLightingCommandBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LightingOutputBuilder + // WithInProgress adds InProgress (property field) + WithInProgress(ReadableProperty) LightingOutputBuilder + // WithInProgressBuilder adds InProgress (property field) which is build by the builder + WithInProgressBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) LightingOutputBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) LightingOutputBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) LightingOutputBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) LightingOutputBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithBlinkWarnEnable adds BlinkWarnEnable (property field) + WithBlinkWarnEnable(ReadableProperty) LightingOutputBuilder + // WithBlinkWarnEnableBuilder adds BlinkWarnEnable (property field) which is build by the builder + WithBlinkWarnEnableBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithEgressTime adds EgressTime (property field) + WithEgressTime(ReadableProperty) LightingOutputBuilder + // WithEgressTimeBuilder adds EgressTime (property field) which is build by the builder + WithEgressTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithEgressActive adds EgressActive (property field) + WithEgressActive(ReadableProperty) LightingOutputBuilder + // WithEgressActiveBuilder adds EgressActive (property field) which is build by the builder + WithEgressActiveBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithDefaultFadeTime adds DefaultFadeTime (property field) + WithDefaultFadeTime(ReadableProperty) LightingOutputBuilder + // WithDefaultFadeTimeBuilder adds DefaultFadeTime (property field) which is build by the builder + WithDefaultFadeTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithDefaultRampRate adds DefaultRampRate (property field) + WithDefaultRampRate(ReadableProperty) LightingOutputBuilder + // WithDefaultRampRateBuilder adds DefaultRampRate (property field) which is build by the builder + WithDefaultRampRateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithDefaultStepIncrement adds DefaultStepIncrement (property field) + WithDefaultStepIncrement(ReadableProperty) LightingOutputBuilder + // WithDefaultStepIncrementBuilder adds DefaultStepIncrement (property field) which is build by the builder + WithDefaultStepIncrementBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithTransition adds Transition (property field) + WithTransition(OptionalProperty) LightingOutputBuilder + // WithTransitionBuilder adds Transition (property field) which is build by the builder + WithTransitionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithFeedbackValue adds FeedbackValue (property field) + WithFeedbackValue(OptionalProperty) LightingOutputBuilder + // WithFeedbackValueBuilder adds FeedbackValue (property field) which is build by the builder + WithFeedbackValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(ReadableProperty) LightingOutputBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(ReadableProperty) LightingOutputBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithPower adds Power (property field) + WithPower(OptionalProperty) LightingOutputBuilder + // WithPowerBuilder adds Power (property field) which is build by the builder + WithPowerBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithInstantaneousPower adds InstantaneousPower (property field) + WithInstantaneousPower(OptionalProperty) LightingOutputBuilder + // WithInstantaneousPowerBuilder adds InstantaneousPower (property field) which is build by the builder + WithInstantaneousPowerBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithMinActualValue adds MinActualValue (property field) + WithMinActualValue(OptionalProperty) LightingOutputBuilder + // WithMinActualValueBuilder adds MinActualValue (property field) which is build by the builder + WithMinActualValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithMaxActualValue adds MaxActualValue (property field) + WithMaxActualValue(OptionalProperty) LightingOutputBuilder + // WithMaxActualValueBuilder adds MaxActualValue (property field) which is build by the builder + WithMaxActualValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithLightingCommandDefaultPriority adds LightingCommandDefaultPriority (property field) + WithLightingCommandDefaultPriority(ReadableProperty) LightingOutputBuilder + // WithLightingCommandDefaultPriorityBuilder adds LightingCommandDefaultPriority (property field) which is build by the builder + WithLightingCommandDefaultPriorityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithCOVIncrement adds COVIncrement (property field) + WithCOVIncrement(OptionalProperty) LightingOutputBuilder + // WithCOVIncrementBuilder adds COVIncrement (property field) which is build by the builder + WithCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) LightingOutputBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) LightingOutputBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(ReadableProperty) LightingOutputBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) LightingOutputBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) LightingOutputBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) LightingOutputBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) LightingOutputBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) LightingOutputBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) LightingOutputBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) LightingOutputBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder + // Build builds the LightingOutput or returns an error if something is wrong + Build() (LightingOutput, error) + // MustBuild does the same as Build but panics on error + MustBuild() LightingOutput +} + +// NewLightingOutputBuilder() creates a LightingOutputBuilder +func NewLightingOutputBuilder() LightingOutputBuilder { + return &_LightingOutputBuilder{_LightingOutput: new(_LightingOutput)} +} + +type _LightingOutputBuilder struct { + *_LightingOutput + + err *utils.MultiError +} + +var _ (LightingOutputBuilder) = (*_LightingOutputBuilder)(nil) + +func (b *_LightingOutputBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, trackingValue ReadableProperty, lightingCommand WritableProperty, inProgress ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, blinkWarnEnable ReadableProperty, egressTime ReadableProperty, egressActive ReadableProperty, defaultFadeTime ReadableProperty, defaultRampRate ReadableProperty, defaultStepIncrement ReadableProperty, transition OptionalProperty, feedbackValue OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, power OptionalProperty, instantaneousPower OptionalProperty, minActualValue OptionalProperty, maxActualValue OptionalProperty, lightingCommandDefaultPriority ReadableProperty, cOVIncrement OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LightingOutputBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithTrackingValue(trackingValue).WithLightingCommand(lightingCommand).WithInProgress(inProgress).WithDescription(description).WithStatusFlags(statusFlags).WithReliability(reliability).WithOutOfService(outOfService).WithBlinkWarnEnable(blinkWarnEnable).WithEgressTime(egressTime).WithEgressActive(egressActive).WithDefaultFadeTime(defaultFadeTime).WithDefaultRampRate(defaultRampRate).WithDefaultStepIncrement(defaultStepIncrement).WithTransition(transition).WithFeedbackValue(feedbackValue).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithPower(power).WithInstantaneousPower(instantaneousPower).WithMinActualValue(minActualValue).WithMaxActualValue(maxActualValue).WithLightingCommandDefaultPriority(lightingCommandDefaultPriority).WithCOVIncrement(cOVIncrement).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_LightingOutputBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) LightingOutputBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_LightingOutputBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithObjectName(objectName ReadableProperty) LightingOutputBuilder { + b.ObjectName = objectName + return b +} + +func (b *_LightingOutputBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithObjectType(objectType ReadableProperty) LightingOutputBuilder { + b.ObjectType = objectType + return b +} + +func (b *_LightingOutputBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithPresentValue(presentValue WritableProperty) LightingOutputBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_LightingOutputBuilder) WithPresentValueBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.PresentValue.CreateWritablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithTrackingValue(trackingValue ReadableProperty) LightingOutputBuilder { + b.TrackingValue = trackingValue + return b +} + +func (b *_LightingOutputBuilder) WithTrackingValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.TrackingValue.CreateReadablePropertyBuilder()) + var err error + b.TrackingValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithLightingCommand(lightingCommand WritableProperty) LightingOutputBuilder { + b.LightingCommand = lightingCommand + return b +} + +func (b *_LightingOutputBuilder) WithLightingCommandBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.LightingCommand.CreateWritablePropertyBuilder()) + var err error + b.LightingCommand, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithInProgress(inProgress ReadableProperty) LightingOutputBuilder { + b.InProgress = inProgress + return b +} + +func (b *_LightingOutputBuilder) WithInProgressBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.InProgress.CreateReadablePropertyBuilder()) + var err error + b.InProgress, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithDescription(description OptionalProperty) LightingOutputBuilder { + b.Description = description + return b +} + +func (b *_LightingOutputBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithStatusFlags(statusFlags ReadableProperty) LightingOutputBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_LightingOutputBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithReliability(reliability OptionalProperty) LightingOutputBuilder { + b.Reliability = reliability + return b +} + +func (b *_LightingOutputBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithOutOfService(outOfService ReadableProperty) LightingOutputBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_LightingOutputBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithBlinkWarnEnable(blinkWarnEnable ReadableProperty) LightingOutputBuilder { + b.BlinkWarnEnable = blinkWarnEnable + return b +} + +func (b *_LightingOutputBuilder) WithBlinkWarnEnableBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.BlinkWarnEnable.CreateReadablePropertyBuilder()) + var err error + b.BlinkWarnEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithEgressTime(egressTime ReadableProperty) LightingOutputBuilder { + b.EgressTime = egressTime + return b +} + +func (b *_LightingOutputBuilder) WithEgressTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.EgressTime.CreateReadablePropertyBuilder()) + var err error + b.EgressTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithEgressActive(egressActive ReadableProperty) LightingOutputBuilder { + b.EgressActive = egressActive + return b +} + +func (b *_LightingOutputBuilder) WithEgressActiveBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.EgressActive.CreateReadablePropertyBuilder()) + var err error + b.EgressActive, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithDefaultFadeTime(defaultFadeTime ReadableProperty) LightingOutputBuilder { + b.DefaultFadeTime = defaultFadeTime + return b +} + +func (b *_LightingOutputBuilder) WithDefaultFadeTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.DefaultFadeTime.CreateReadablePropertyBuilder()) + var err error + b.DefaultFadeTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithDefaultRampRate(defaultRampRate ReadableProperty) LightingOutputBuilder { + b.DefaultRampRate = defaultRampRate + return b +} + +func (b *_LightingOutputBuilder) WithDefaultRampRateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.DefaultRampRate.CreateReadablePropertyBuilder()) + var err error + b.DefaultRampRate, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithDefaultStepIncrement(defaultStepIncrement ReadableProperty) LightingOutputBuilder { + b.DefaultStepIncrement = defaultStepIncrement + return b +} + +func (b *_LightingOutputBuilder) WithDefaultStepIncrementBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.DefaultStepIncrement.CreateReadablePropertyBuilder()) + var err error + b.DefaultStepIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithTransition(transition OptionalProperty) LightingOutputBuilder { + b.Transition = transition + return b +} + +func (b *_LightingOutputBuilder) WithTransitionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.Transition.CreateOptionalPropertyBuilder()) + var err error + b.Transition, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithFeedbackValue(feedbackValue OptionalProperty) LightingOutputBuilder { + b.FeedbackValue = feedbackValue + return b +} + +func (b *_LightingOutputBuilder) WithFeedbackValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.FeedbackValue.CreateOptionalPropertyBuilder()) + var err error + b.FeedbackValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithPriorityArray(priorityArray ReadableProperty) LightingOutputBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_LightingOutputBuilder) WithPriorityArrayBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.PriorityArray.CreateReadablePropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithRelinquishDefault(relinquishDefault ReadableProperty) LightingOutputBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_LightingOutputBuilder) WithRelinquishDefaultBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateReadablePropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithPower(power OptionalProperty) LightingOutputBuilder { + b.Power = power + return b +} + +func (b *_LightingOutputBuilder) WithPowerBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.Power.CreateOptionalPropertyBuilder()) + var err error + b.Power, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithInstantaneousPower(instantaneousPower OptionalProperty) LightingOutputBuilder { + b.InstantaneousPower = instantaneousPower + return b +} + +func (b *_LightingOutputBuilder) WithInstantaneousPowerBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.InstantaneousPower.CreateOptionalPropertyBuilder()) + var err error + b.InstantaneousPower, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithMinActualValue(minActualValue OptionalProperty) LightingOutputBuilder { + b.MinActualValue = minActualValue + return b +} + +func (b *_LightingOutputBuilder) WithMinActualValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.MinActualValue.CreateOptionalPropertyBuilder()) + var err error + b.MinActualValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithMaxActualValue(maxActualValue OptionalProperty) LightingOutputBuilder { + b.MaxActualValue = maxActualValue + return b +} + +func (b *_LightingOutputBuilder) WithMaxActualValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.MaxActualValue.CreateOptionalPropertyBuilder()) + var err error + b.MaxActualValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithLightingCommandDefaultPriority(lightingCommandDefaultPriority ReadableProperty) LightingOutputBuilder { + b.LightingCommandDefaultPriority = lightingCommandDefaultPriority + return b +} + +func (b *_LightingOutputBuilder) WithLightingCommandDefaultPriorityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.LightingCommandDefaultPriority.CreateReadablePropertyBuilder()) + var err error + b.LightingCommandDefaultPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithCOVIncrement(cOVIncrement OptionalProperty) LightingOutputBuilder { + b.COVIncrement = cOVIncrement + return b +} + +func (b *_LightingOutputBuilder) WithCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.COVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.COVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) LightingOutputBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_LightingOutputBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithPropertyList(propertyList ReadableProperty) LightingOutputBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_LightingOutputBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithCurrentCommandPriority(currentCommandPriority ReadableProperty) LightingOutputBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_LightingOutputBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateReadablePropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithValueSource(valueSource OptionalProperty) LightingOutputBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_LightingOutputBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) LightingOutputBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_LightingOutputBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) LightingOutputBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_LightingOutputBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) LightingOutputBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_LightingOutputBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithTags(tags OptionalProperty) LightingOutputBuilder { + b.Tags = tags + return b +} + +func (b *_LightingOutputBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithProfileLocation(profileLocation OptionalProperty) LightingOutputBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_LightingOutputBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) WithProfileName(profileName OptionalProperty) LightingOutputBuilder { + b.ProfileName = profileName + return b +} + +func (b *_LightingOutputBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LightingOutputBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LightingOutputBuilder) Build() (LightingOutput, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.TrackingValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'trackingValue' not set")) + } + if b.LightingCommand == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lightingCommand' not set")) + } + if b.InProgress == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'inProgress' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.BlinkWarnEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'blinkWarnEnable' not set")) + } + if b.EgressTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'egressTime' not set")) + } + if b.EgressActive == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'egressActive' not set")) + } + if b.DefaultFadeTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'defaultFadeTime' not set")) + } + if b.DefaultRampRate == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'defaultRampRate' not set")) + } + if b.DefaultStepIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'defaultStepIncrement' not set")) + } + if b.Transition == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'transition' not set")) + } + if b.FeedbackValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'feedbackValue' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.Power == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'power' not set")) + } + if b.InstantaneousPower == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'instantaneousPower' not set")) + } + if b.MinActualValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minActualValue' not set")) + } + if b.MaxActualValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxActualValue' not set")) + } + if b.LightingCommandDefaultPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lightingCommandDefaultPriority' not set")) + } + if b.COVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVIncrement' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._LightingOutput.deepCopy(), nil +} + +func (b *_LightingOutputBuilder) MustBuild() LightingOutput { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_LightingOutputBuilder) DeepCopy() any { + _copy := b.CreateLightingOutputBuilder().(*_LightingOutputBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateLightingOutputBuilder creates a LightingOutputBuilder +func (b *_LightingOutput) CreateLightingOutputBuilder() LightingOutputBuilder { + if b == nil { + return NewLightingOutputBuilder() + } + return &_LightingOutputBuilder{_LightingOutput: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_LightingOutput) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_LightingOutput) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_LightingOutput) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_LightingOutput) GetPresentValue() WritableProperty { + return m.PresentValue +} + +func (m *_LightingOutput) GetTrackingValue() ReadableProperty { + return m.TrackingValue +} + +func (m *_LightingOutput) GetLightingCommand() WritableProperty { + return m.LightingCommand +} + +func (m *_LightingOutput) GetInProgress() ReadableProperty { + return m.InProgress +} + +func (m *_LightingOutput) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_LightingOutput) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_LightingOutput) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_LightingOutput) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_LightingOutput) GetBlinkWarnEnable() ReadableProperty { + return m.BlinkWarnEnable +} + +func (m *_LightingOutput) GetEgressTime() ReadableProperty { + return m.EgressTime +} + +func (m *_LightingOutput) GetEgressActive() ReadableProperty { + return m.EgressActive +} + +func (m *_LightingOutput) GetDefaultFadeTime() ReadableProperty { + return m.DefaultFadeTime +} + +func (m *_LightingOutput) GetDefaultRampRate() ReadableProperty { + return m.DefaultRampRate +} + +func (m *_LightingOutput) GetDefaultStepIncrement() ReadableProperty { + return m.DefaultStepIncrement +} + +func (m *_LightingOutput) GetTransition() OptionalProperty { + return m.Transition +} + +func (m *_LightingOutput) GetFeedbackValue() OptionalProperty { + return m.FeedbackValue +} + +func (m *_LightingOutput) GetPriorityArray() ReadableProperty { + return m.PriorityArray +} + +func (m *_LightingOutput) GetRelinquishDefault() ReadableProperty { + return m.RelinquishDefault +} + +func (m *_LightingOutput) GetPower() OptionalProperty { + return m.Power +} + +func (m *_LightingOutput) GetInstantaneousPower() OptionalProperty { + return m.InstantaneousPower +} + +func (m *_LightingOutput) GetMinActualValue() OptionalProperty { + return m.MinActualValue +} + +func (m *_LightingOutput) GetMaxActualValue() OptionalProperty { + return m.MaxActualValue +} + +func (m *_LightingOutput) GetLightingCommandDefaultPriority() ReadableProperty { + return m.LightingCommandDefaultPriority +} + +func (m *_LightingOutput) GetCOVIncrement() OptionalProperty { + return m.COVIncrement +} + +func (m *_LightingOutput) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_LightingOutput) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_LightingOutput) GetCurrentCommandPriority() ReadableProperty { + return m.CurrentCommandPriority +} + +func (m *_LightingOutput) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_LightingOutput) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_LightingOutput) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_LightingOutput) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_LightingOutput) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_LightingOutput) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_LightingOutput) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastLightingOutput(structType any) LightingOutput { + if casted, ok := structType.(LightingOutput); ok { + return casted + } + if casted, ok := structType.(*LightingOutput); ok { + return *casted + } + return nil +} + +func (m *_LightingOutput) GetTypeName() string { + return "LightingOutput" +} + +func (m *_LightingOutput) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (trackingValue) + lengthInBits += m.TrackingValue.GetLengthInBits(ctx) + + // Simple field (lightingCommand) + lengthInBits += m.LightingCommand.GetLengthInBits(ctx) + + // Simple field (inProgress) + lengthInBits += m.InProgress.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (blinkWarnEnable) + lengthInBits += m.BlinkWarnEnable.GetLengthInBits(ctx) + + // Simple field (egressTime) + lengthInBits += m.EgressTime.GetLengthInBits(ctx) + + // Simple field (egressActive) + lengthInBits += m.EgressActive.GetLengthInBits(ctx) + + // Simple field (defaultFadeTime) + lengthInBits += m.DefaultFadeTime.GetLengthInBits(ctx) + + // Simple field (defaultRampRate) + lengthInBits += m.DefaultRampRate.GetLengthInBits(ctx) + + // Simple field (defaultStepIncrement) + lengthInBits += m.DefaultStepIncrement.GetLengthInBits(ctx) + + // Simple field (transition) + lengthInBits += m.Transition.GetLengthInBits(ctx) + + // Simple field (feedbackValue) + lengthInBits += m.FeedbackValue.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (power) + lengthInBits += m.Power.GetLengthInBits(ctx) + + // Simple field (instantaneousPower) + lengthInBits += m.InstantaneousPower.GetLengthInBits(ctx) + + // Simple field (minActualValue) + lengthInBits += m.MinActualValue.GetLengthInBits(ctx) + + // Simple field (maxActualValue) + lengthInBits += m.MaxActualValue.GetLengthInBits(ctx) + + // Simple field (lightingCommandDefaultPriority) + lengthInBits += m.LightingCommandDefaultPriority.GetLengthInBits(ctx) + + // Simple field (cOVIncrement) + lengthInBits += m.COVIncrement.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_LightingOutput) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func LightingOutputParse(ctx context.Context, theBytes []byte) (LightingOutput, error) { + return LightingOutputParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func LightingOutputParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (LightingOutput, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (LightingOutput, error) { + return LightingOutputParseWithBuffer(ctx, readBuffer) + } +} + +func LightingOutputParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (LightingOutput, error) { + v, err := (&_LightingOutput{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_LightingOutput) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__lightingOutput LightingOutput, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("LightingOutput"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for LightingOutput") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[WritableProperty](ctx, "presentValue", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + trackingValue, err := ReadSimpleField[ReadableProperty](ctx, "trackingValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'trackingValue' field")) + } + m.TrackingValue = trackingValue + + lightingCommand, err := ReadSimpleField[WritableProperty](ctx, "lightingCommand", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetLightingCommand")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lightingCommand' field")) + } + m.LightingCommand = lightingCommand + + inProgress, err := ReadSimpleField[ReadableProperty](ctx, "inProgress", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLightingInProgress")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'inProgress' field")) + } + m.InProgress = inProgress + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + blinkWarnEnable, err := ReadSimpleField[ReadableProperty](ctx, "blinkWarnEnable", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'blinkWarnEnable' field")) + } + m.BlinkWarnEnable = blinkWarnEnable + + egressTime, err := ReadSimpleField[ReadableProperty](ctx, "egressTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'egressTime' field")) + } + m.EgressTime = egressTime + + egressActive, err := ReadSimpleField[ReadableProperty](ctx, "egressActive", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'egressActive' field")) + } + m.EgressActive = egressActive + + defaultFadeTime, err := ReadSimpleField[ReadableProperty](ctx, "defaultFadeTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'defaultFadeTime' field")) + } + m.DefaultFadeTime = defaultFadeTime + + defaultRampRate, err := ReadSimpleField[ReadableProperty](ctx, "defaultRampRate", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'defaultRampRate' field")) + } + m.DefaultRampRate = defaultRampRate + + defaultStepIncrement, err := ReadSimpleField[ReadableProperty](ctx, "defaultStepIncrement", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'defaultStepIncrement' field")) + } + m.DefaultStepIncrement = defaultStepIncrement + + transition, err := ReadSimpleField[OptionalProperty](ctx, "transition", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLightingTransition")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'transition' field")) + } + m.Transition = transition + + feedbackValue, err := ReadSimpleField[OptionalProperty](ctx, "feedbackValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'feedbackValue' field")) + } + m.FeedbackValue = feedbackValue + + priorityArray, err := ReadSimpleField[ReadableProperty](ctx, "priorityArray", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[ReadableProperty](ctx, "relinquishDefault", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + power, err := ReadSimpleField[OptionalProperty](ctx, "power", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'power' field")) + } + m.Power = power + + instantaneousPower, err := ReadSimpleField[OptionalProperty](ctx, "instantaneousPower", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'instantaneousPower' field")) + } + m.InstantaneousPower = instantaneousPower + + minActualValue, err := ReadSimpleField[OptionalProperty](ctx, "minActualValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minActualValue' field")) + } + m.MinActualValue = minActualValue + + maxActualValue, err := ReadSimpleField[OptionalProperty](ctx, "maxActualValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxActualValue' field")) + } + m.MaxActualValue = maxActualValue + + lightingCommandDefaultPriority, err := ReadSimpleField[ReadableProperty](ctx, "lightingCommandDefaultPriority", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lightingCommandDefaultPriority' field")) + } + m.LightingCommandDefaultPriority = lightingCommandDefaultPriority + + cOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "cOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVIncrement' field")) + } + m.COVIncrement = cOVIncrement + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + currentCommandPriority, err := ReadSimpleField[ReadableProperty](ctx, "currentCommandPriority", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("LightingOutput"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for LightingOutput") + } + + return m, nil +} + +func (m *_LightingOutput) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_LightingOutput) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("LightingOutput"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for LightingOutput") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "trackingValue", m.GetTrackingValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'trackingValue' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "lightingCommand", m.GetLightingCommand(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lightingCommand' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "inProgress", m.GetInProgress(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'inProgress' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "blinkWarnEnable", m.GetBlinkWarnEnable(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'blinkWarnEnable' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "egressTime", m.GetEgressTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'egressTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "egressActive", m.GetEgressActive(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'egressActive' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "defaultFadeTime", m.GetDefaultFadeTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'defaultFadeTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "defaultRampRate", m.GetDefaultRampRate(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'defaultRampRate' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "defaultStepIncrement", m.GetDefaultStepIncrement(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'defaultStepIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "transition", m.GetTransition(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'transition' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "feedbackValue", m.GetFeedbackValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'feedbackValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "power", m.GetPower(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'power' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "instantaneousPower", m.GetInstantaneousPower(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'instantaneousPower' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minActualValue", m.GetMinActualValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minActualValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxActualValue", m.GetMaxActualValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxActualValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "lightingCommandDefaultPriority", m.GetLightingCommandDefaultPriority(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lightingCommandDefaultPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVIncrement", m.GetCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("LightingOutput"); popErr != nil { + return errors.Wrap(popErr, "Error popping for LightingOutput") + } + return nil +} + +func (m *_LightingOutput) IsLightingOutput() {} + +func (m *_LightingOutput) DeepCopy() any { + return m.deepCopy() +} + +func (m *_LightingOutput) deepCopy() *_LightingOutput { + if m == nil { + return nil + } + _LightingOutputCopy := &_LightingOutput{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(WritableProperty), + m.TrackingValue.DeepCopy().(ReadableProperty), + m.LightingCommand.DeepCopy().(WritableProperty), + m.InProgress.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.BlinkWarnEnable.DeepCopy().(ReadableProperty), + m.EgressTime.DeepCopy().(ReadableProperty), + m.EgressActive.DeepCopy().(ReadableProperty), + m.DefaultFadeTime.DeepCopy().(ReadableProperty), + m.DefaultRampRate.DeepCopy().(ReadableProperty), + m.DefaultStepIncrement.DeepCopy().(ReadableProperty), + m.Transition.DeepCopy().(OptionalProperty), + m.FeedbackValue.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(ReadableProperty), + m.RelinquishDefault.DeepCopy().(ReadableProperty), + m.Power.DeepCopy().(OptionalProperty), + m.InstantaneousPower.DeepCopy().(OptionalProperty), + m.MinActualValue.DeepCopy().(OptionalProperty), + m.MaxActualValue.DeepCopy().(OptionalProperty), + m.LightingCommandDefaultPriority.DeepCopy().(ReadableProperty), + m.COVIncrement.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.CurrentCommandPriority.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _LightingOutputCopy +} + +func (m *_LightingOutput) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/LoadControl.go b/plc4go/protocols/bacnetip/readwrite/model/LoadControl.go new file mode 100644 index 00000000000..63570cdbe5f --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/LoadControl.go @@ -0,0 +1,2172 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// LoadControl is the corresponding interface of LoadControl +type LoadControl interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStateDescription returns StateDescription (property field) + GetStateDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetRequestedShedLevel returns RequestedShedLevel (property field) + GetRequestedShedLevel() WritableProperty + // GetStartTime returns StartTime (property field) + GetStartTime() WritableProperty + // GetShedDuration returns ShedDuration (property field) + GetShedDuration() WritableProperty + // GetDutyWindow returns DutyWindow (property field) + GetDutyWindow() WritableProperty + // GetEnable returns Enable (property field) + GetEnable() WritableProperty + // GetFullDutyBaseline returns FullDutyBaseline (property field) + GetFullDutyBaseline() OptionalProperty + // GetExpectedShedLevel returns ExpectedShedLevel (property field) + GetExpectedShedLevel() ReadableProperty + // GetActualShedLevel returns ActualShedLevel (property field) + GetActualShedLevel() ReadableProperty + // GetShedLevels returns ShedLevels (property field) + GetShedLevels() WritableProperty + // GetShedLevelDescriptions returns ShedLevelDescriptions (property field) + GetShedLevelDescriptions() ReadableProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsLoadControl is a marker method to prevent unintentional type checks (interfaces of same signature) + IsLoadControl() + // CreateBuilder creates a LoadControlBuilder + CreateLoadControlBuilder() LoadControlBuilder +} + +// _LoadControl is the data-structure of this message +type _LoadControl struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StateDescription OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + RequestedShedLevel WritableProperty + StartTime WritableProperty + ShedDuration WritableProperty + DutyWindow WritableProperty + Enable WritableProperty + FullDutyBaseline OptionalProperty + ExpectedShedLevel ReadableProperty + ActualShedLevel ReadableProperty + ShedLevels WritableProperty + ShedLevelDescriptions ReadableProperty + NotificationClass OptionalProperty + TimeDelay OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + ValueSource OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ LoadControl = (*_LoadControl)(nil) + +// NewLoadControl factory function for _LoadControl +func NewLoadControl(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, stateDescription OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, requestedShedLevel WritableProperty, startTime WritableProperty, shedDuration WritableProperty, dutyWindow WritableProperty, enable WritableProperty, fullDutyBaseline OptionalProperty, expectedShedLevel ReadableProperty, actualShedLevel ReadableProperty, shedLevels WritableProperty, shedLevelDescriptions ReadableProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_LoadControl { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for LoadControl must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for LoadControl must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for LoadControl must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for LoadControl must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for LoadControl must not be nil") + } + if stateDescription == nil { + panic("stateDescription of type OptionalProperty for LoadControl must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for LoadControl must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for LoadControl must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for LoadControl must not be nil") + } + if requestedShedLevel == nil { + panic("requestedShedLevel of type WritableProperty for LoadControl must not be nil") + } + if startTime == nil { + panic("startTime of type WritableProperty for LoadControl must not be nil") + } + if shedDuration == nil { + panic("shedDuration of type WritableProperty for LoadControl must not be nil") + } + if dutyWindow == nil { + panic("dutyWindow of type WritableProperty for LoadControl must not be nil") + } + if enable == nil { + panic("enable of type WritableProperty for LoadControl must not be nil") + } + if fullDutyBaseline == nil { + panic("fullDutyBaseline of type OptionalProperty for LoadControl must not be nil") + } + if expectedShedLevel == nil { + panic("expectedShedLevel of type ReadableProperty for LoadControl must not be nil") + } + if actualShedLevel == nil { + panic("actualShedLevel of type ReadableProperty for LoadControl must not be nil") + } + if shedLevels == nil { + panic("shedLevels of type WritableProperty for LoadControl must not be nil") + } + if shedLevelDescriptions == nil { + panic("shedLevelDescriptions of type ReadableProperty for LoadControl must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for LoadControl must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for LoadControl must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for LoadControl must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for LoadControl must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for LoadControl must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for LoadControl must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for LoadControl must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for LoadControl must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for LoadControl must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for LoadControl must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for LoadControl must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for LoadControl must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for LoadControl must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for LoadControl must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for LoadControl must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for LoadControl must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for LoadControl must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for LoadControl must not be nil") + } + return &_LoadControl{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StateDescription: stateDescription, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, RequestedShedLevel: requestedShedLevel, StartTime: startTime, ShedDuration: shedDuration, DutyWindow: dutyWindow, Enable: enable, FullDutyBaseline: fullDutyBaseline, ExpectedShedLevel: expectedShedLevel, ActualShedLevel: actualShedLevel, ShedLevels: shedLevels, ShedLevelDescriptions: shedLevelDescriptions, NotificationClass: notificationClass, TimeDelay: timeDelay, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, ValueSource: valueSource, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// LoadControlBuilder is a builder for LoadControl +type LoadControlBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, stateDescription OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, requestedShedLevel WritableProperty, startTime WritableProperty, shedDuration WritableProperty, dutyWindow WritableProperty, enable WritableProperty, fullDutyBaseline OptionalProperty, expectedShedLevel ReadableProperty, actualShedLevel ReadableProperty, shedLevels WritableProperty, shedLevelDescriptions ReadableProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LoadControlBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) LoadControlBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) LoadControlBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) LoadControlBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) LoadControlBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) LoadControlBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithStateDescription adds StateDescription (property field) + WithStateDescription(OptionalProperty) LoadControlBuilder + // WithStateDescriptionBuilder adds StateDescription (property field) which is build by the builder + WithStateDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) LoadControlBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) LoadControlBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) LoadControlBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithRequestedShedLevel adds RequestedShedLevel (property field) + WithRequestedShedLevel(WritableProperty) LoadControlBuilder + // WithRequestedShedLevelBuilder adds RequestedShedLevel (property field) which is build by the builder + WithRequestedShedLevelBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder + // WithStartTime adds StartTime (property field) + WithStartTime(WritableProperty) LoadControlBuilder + // WithStartTimeBuilder adds StartTime (property field) which is build by the builder + WithStartTimeBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder + // WithShedDuration adds ShedDuration (property field) + WithShedDuration(WritableProperty) LoadControlBuilder + // WithShedDurationBuilder adds ShedDuration (property field) which is build by the builder + WithShedDurationBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder + // WithDutyWindow adds DutyWindow (property field) + WithDutyWindow(WritableProperty) LoadControlBuilder + // WithDutyWindowBuilder adds DutyWindow (property field) which is build by the builder + WithDutyWindowBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder + // WithEnable adds Enable (property field) + WithEnable(WritableProperty) LoadControlBuilder + // WithEnableBuilder adds Enable (property field) which is build by the builder + WithEnableBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder + // WithFullDutyBaseline adds FullDutyBaseline (property field) + WithFullDutyBaseline(OptionalProperty) LoadControlBuilder + // WithFullDutyBaselineBuilder adds FullDutyBaseline (property field) which is build by the builder + WithFullDutyBaselineBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithExpectedShedLevel adds ExpectedShedLevel (property field) + WithExpectedShedLevel(ReadableProperty) LoadControlBuilder + // WithExpectedShedLevelBuilder adds ExpectedShedLevel (property field) which is build by the builder + WithExpectedShedLevelBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithActualShedLevel adds ActualShedLevel (property field) + WithActualShedLevel(ReadableProperty) LoadControlBuilder + // WithActualShedLevelBuilder adds ActualShedLevel (property field) which is build by the builder + WithActualShedLevelBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithShedLevels adds ShedLevels (property field) + WithShedLevels(WritableProperty) LoadControlBuilder + // WithShedLevelsBuilder adds ShedLevels (property field) which is build by the builder + WithShedLevelsBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder + // WithShedLevelDescriptions adds ShedLevelDescriptions (property field) + WithShedLevelDescriptions(ReadableProperty) LoadControlBuilder + // WithShedLevelDescriptionsBuilder adds ShedLevelDescriptions (property field) which is build by the builder + WithShedLevelDescriptionsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) LoadControlBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) LoadControlBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) LoadControlBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) LoadControlBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) LoadControlBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) LoadControlBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) LoadControlBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) LoadControlBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) LoadControlBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) LoadControlBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) LoadControlBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) LoadControlBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) LoadControlBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) LoadControlBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) LoadControlBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) LoadControlBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) LoadControlBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) LoadControlBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder + // Build builds the LoadControl or returns an error if something is wrong + Build() (LoadControl, error) + // MustBuild does the same as Build but panics on error + MustBuild() LoadControl +} + +// NewLoadControlBuilder() creates a LoadControlBuilder +func NewLoadControlBuilder() LoadControlBuilder { + return &_LoadControlBuilder{_LoadControl: new(_LoadControl)} +} + +type _LoadControlBuilder struct { + *_LoadControl + + err *utils.MultiError +} + +var _ (LoadControlBuilder) = (*_LoadControlBuilder)(nil) + +func (b *_LoadControlBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, stateDescription OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, requestedShedLevel WritableProperty, startTime WritableProperty, shedDuration WritableProperty, dutyWindow WritableProperty, enable WritableProperty, fullDutyBaseline OptionalProperty, expectedShedLevel ReadableProperty, actualShedLevel ReadableProperty, shedLevels WritableProperty, shedLevelDescriptions ReadableProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, valueSource OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LoadControlBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStateDescription(stateDescription).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithRequestedShedLevel(requestedShedLevel).WithStartTime(startTime).WithShedDuration(shedDuration).WithDutyWindow(dutyWindow).WithEnable(enable).WithFullDutyBaseline(fullDutyBaseline).WithExpectedShedLevel(expectedShedLevel).WithActualShedLevel(actualShedLevel).WithShedLevels(shedLevels).WithShedLevelDescriptions(shedLevelDescriptions).WithNotificationClass(notificationClass).WithTimeDelay(timeDelay).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithValueSource(valueSource).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_LoadControlBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) LoadControlBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_LoadControlBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithObjectName(objectName ReadableProperty) LoadControlBuilder { + b.ObjectName = objectName + return b +} + +func (b *_LoadControlBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithObjectType(objectType ReadableProperty) LoadControlBuilder { + b.ObjectType = objectType + return b +} + +func (b *_LoadControlBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithDescription(description OptionalProperty) LoadControlBuilder { + b.Description = description + return b +} + +func (b *_LoadControlBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithPresentValue(presentValue ReadableProperty) LoadControlBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_LoadControlBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithStateDescription(stateDescription OptionalProperty) LoadControlBuilder { + b.StateDescription = stateDescription + return b +} + +func (b *_LoadControlBuilder) WithStateDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.StateDescription.CreateOptionalPropertyBuilder()) + var err error + b.StateDescription, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithStatusFlags(statusFlags ReadableProperty) LoadControlBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_LoadControlBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithEventState(eventState ReadableProperty) LoadControlBuilder { + b.EventState = eventState + return b +} + +func (b *_LoadControlBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithReliability(reliability OptionalProperty) LoadControlBuilder { + b.Reliability = reliability + return b +} + +func (b *_LoadControlBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithRequestedShedLevel(requestedShedLevel WritableProperty) LoadControlBuilder { + b.RequestedShedLevel = requestedShedLevel + return b +} + +func (b *_LoadControlBuilder) WithRequestedShedLevelBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.RequestedShedLevel.CreateWritablePropertyBuilder()) + var err error + b.RequestedShedLevel, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithStartTime(startTime WritableProperty) LoadControlBuilder { + b.StartTime = startTime + return b +} + +func (b *_LoadControlBuilder) WithStartTimeBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.StartTime.CreateWritablePropertyBuilder()) + var err error + b.StartTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithShedDuration(shedDuration WritableProperty) LoadControlBuilder { + b.ShedDuration = shedDuration + return b +} + +func (b *_LoadControlBuilder) WithShedDurationBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ShedDuration.CreateWritablePropertyBuilder()) + var err error + b.ShedDuration, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithDutyWindow(dutyWindow WritableProperty) LoadControlBuilder { + b.DutyWindow = dutyWindow + return b +} + +func (b *_LoadControlBuilder) WithDutyWindowBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.DutyWindow.CreateWritablePropertyBuilder()) + var err error + b.DutyWindow, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithEnable(enable WritableProperty) LoadControlBuilder { + b.Enable = enable + return b +} + +func (b *_LoadControlBuilder) WithEnableBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.Enable.CreateWritablePropertyBuilder()) + var err error + b.Enable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithFullDutyBaseline(fullDutyBaseline OptionalProperty) LoadControlBuilder { + b.FullDutyBaseline = fullDutyBaseline + return b +} + +func (b *_LoadControlBuilder) WithFullDutyBaselineBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.FullDutyBaseline.CreateOptionalPropertyBuilder()) + var err error + b.FullDutyBaseline, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithExpectedShedLevel(expectedShedLevel ReadableProperty) LoadControlBuilder { + b.ExpectedShedLevel = expectedShedLevel + return b +} + +func (b *_LoadControlBuilder) WithExpectedShedLevelBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ExpectedShedLevel.CreateReadablePropertyBuilder()) + var err error + b.ExpectedShedLevel, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithActualShedLevel(actualShedLevel ReadableProperty) LoadControlBuilder { + b.ActualShedLevel = actualShedLevel + return b +} + +func (b *_LoadControlBuilder) WithActualShedLevelBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ActualShedLevel.CreateReadablePropertyBuilder()) + var err error + b.ActualShedLevel, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithShedLevels(shedLevels WritableProperty) LoadControlBuilder { + b.ShedLevels = shedLevels + return b +} + +func (b *_LoadControlBuilder) WithShedLevelsBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ShedLevels.CreateWritablePropertyBuilder()) + var err error + b.ShedLevels, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithShedLevelDescriptions(shedLevelDescriptions ReadableProperty) LoadControlBuilder { + b.ShedLevelDescriptions = shedLevelDescriptions + return b +} + +func (b *_LoadControlBuilder) WithShedLevelDescriptionsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ShedLevelDescriptions.CreateReadablePropertyBuilder()) + var err error + b.ShedLevelDescriptions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithNotificationClass(notificationClass OptionalProperty) LoadControlBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_LoadControlBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithTimeDelay(timeDelay OptionalProperty) LoadControlBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_LoadControlBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithEventEnable(eventEnable OptionalProperty) LoadControlBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_LoadControlBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) LoadControlBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_LoadControlBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithNotifyType(notifyType OptionalProperty) LoadControlBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_LoadControlBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) LoadControlBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_LoadControlBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) LoadControlBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_LoadControlBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) LoadControlBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_LoadControlBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) LoadControlBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_LoadControlBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) LoadControlBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_LoadControlBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) LoadControlBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_LoadControlBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) LoadControlBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_LoadControlBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) LoadControlBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_LoadControlBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithPropertyList(propertyList ReadableProperty) LoadControlBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_LoadControlBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithValueSource(valueSource OptionalProperty) LoadControlBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_LoadControlBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithTags(tags OptionalProperty) LoadControlBuilder { + b.Tags = tags + return b +} + +func (b *_LoadControlBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithProfileLocation(profileLocation OptionalProperty) LoadControlBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_LoadControlBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) WithProfileName(profileName OptionalProperty) LoadControlBuilder { + b.ProfileName = profileName + return b +} + +func (b *_LoadControlBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoadControlBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoadControlBuilder) Build() (LoadControl, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StateDescription == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stateDescription' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.RequestedShedLevel == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'requestedShedLevel' not set")) + } + if b.StartTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'startTime' not set")) + } + if b.ShedDuration == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'shedDuration' not set")) + } + if b.DutyWindow == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'dutyWindow' not set")) + } + if b.Enable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'enable' not set")) + } + if b.FullDutyBaseline == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'fullDutyBaseline' not set")) + } + if b.ExpectedShedLevel == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'expectedShedLevel' not set")) + } + if b.ActualShedLevel == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'actualShedLevel' not set")) + } + if b.ShedLevels == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'shedLevels' not set")) + } + if b.ShedLevelDescriptions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'shedLevelDescriptions' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._LoadControl.deepCopy(), nil +} + +func (b *_LoadControlBuilder) MustBuild() LoadControl { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_LoadControlBuilder) DeepCopy() any { + _copy := b.CreateLoadControlBuilder().(*_LoadControlBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateLoadControlBuilder creates a LoadControlBuilder +func (b *_LoadControl) CreateLoadControlBuilder() LoadControlBuilder { + if b == nil { + return NewLoadControlBuilder() + } + return &_LoadControlBuilder{_LoadControl: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_LoadControl) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_LoadControl) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_LoadControl) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_LoadControl) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_LoadControl) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_LoadControl) GetStateDescription() OptionalProperty { + return m.StateDescription +} + +func (m *_LoadControl) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_LoadControl) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_LoadControl) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_LoadControl) GetRequestedShedLevel() WritableProperty { + return m.RequestedShedLevel +} + +func (m *_LoadControl) GetStartTime() WritableProperty { + return m.StartTime +} + +func (m *_LoadControl) GetShedDuration() WritableProperty { + return m.ShedDuration +} + +func (m *_LoadControl) GetDutyWindow() WritableProperty { + return m.DutyWindow +} + +func (m *_LoadControl) GetEnable() WritableProperty { + return m.Enable +} + +func (m *_LoadControl) GetFullDutyBaseline() OptionalProperty { + return m.FullDutyBaseline +} + +func (m *_LoadControl) GetExpectedShedLevel() ReadableProperty { + return m.ExpectedShedLevel +} + +func (m *_LoadControl) GetActualShedLevel() ReadableProperty { + return m.ActualShedLevel +} + +func (m *_LoadControl) GetShedLevels() WritableProperty { + return m.ShedLevels +} + +func (m *_LoadControl) GetShedLevelDescriptions() ReadableProperty { + return m.ShedLevelDescriptions +} + +func (m *_LoadControl) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_LoadControl) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_LoadControl) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_LoadControl) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_LoadControl) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_LoadControl) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_LoadControl) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_LoadControl) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_LoadControl) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_LoadControl) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_LoadControl) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_LoadControl) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_LoadControl) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_LoadControl) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_LoadControl) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_LoadControl) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_LoadControl) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_LoadControl) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastLoadControl(structType any) LoadControl { + if casted, ok := structType.(LoadControl); ok { + return casted + } + if casted, ok := structType.(*LoadControl); ok { + return *casted + } + return nil +} + +func (m *_LoadControl) GetTypeName() string { + return "LoadControl" +} + +func (m *_LoadControl) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (stateDescription) + lengthInBits += m.StateDescription.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (requestedShedLevel) + lengthInBits += m.RequestedShedLevel.GetLengthInBits(ctx) + + // Simple field (startTime) + lengthInBits += m.StartTime.GetLengthInBits(ctx) + + // Simple field (shedDuration) + lengthInBits += m.ShedDuration.GetLengthInBits(ctx) + + // Simple field (dutyWindow) + lengthInBits += m.DutyWindow.GetLengthInBits(ctx) + + // Simple field (enable) + lengthInBits += m.Enable.GetLengthInBits(ctx) + + // Simple field (fullDutyBaseline) + lengthInBits += m.FullDutyBaseline.GetLengthInBits(ctx) + + // Simple field (expectedShedLevel) + lengthInBits += m.ExpectedShedLevel.GetLengthInBits(ctx) + + // Simple field (actualShedLevel) + lengthInBits += m.ActualShedLevel.GetLengthInBits(ctx) + + // Simple field (shedLevels) + lengthInBits += m.ShedLevels.GetLengthInBits(ctx) + + // Simple field (shedLevelDescriptions) + lengthInBits += m.ShedLevelDescriptions.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_LoadControl) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func LoadControlParse(ctx context.Context, theBytes []byte) (LoadControl, error) { + return LoadControlParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func LoadControlParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (LoadControl, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (LoadControl, error) { + return LoadControlParseWithBuffer(ctx, readBuffer) + } +} + +func LoadControlParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (LoadControl, error) { + v, err := (&_LoadControl{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_LoadControl) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__loadControl LoadControl, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("LoadControl"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for LoadControl") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetShedState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + stateDescription, err := ReadSimpleField[OptionalProperty](ctx, "stateDescription", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stateDescription' field")) + } + m.StateDescription = stateDescription + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + requestedShedLevel, err := ReadSimpleField[WritableProperty](ctx, "requestedShedLevel", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetShedLevel")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'requestedShedLevel' field")) + } + m.RequestedShedLevel = requestedShedLevel + + startTime, err := ReadSimpleField[WritableProperty](ctx, "startTime", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'startTime' field")) + } + m.StartTime = startTime + + shedDuration, err := ReadSimpleField[WritableProperty](ctx, "shedDuration", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'shedDuration' field")) + } + m.ShedDuration = shedDuration + + dutyWindow, err := ReadSimpleField[WritableProperty](ctx, "dutyWindow", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'dutyWindow' field")) + } + m.DutyWindow = dutyWindow + + enable, err := ReadSimpleField[WritableProperty](ctx, "enable", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'enable' field")) + } + m.Enable = enable + + fullDutyBaseline, err := ReadSimpleField[OptionalProperty](ctx, "fullDutyBaseline", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'fullDutyBaseline' field")) + } + m.FullDutyBaseline = fullDutyBaseline + + expectedShedLevel, err := ReadSimpleField[ReadableProperty](ctx, "expectedShedLevel", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetShedLevel")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'expectedShedLevel' field")) + } + m.ExpectedShedLevel = expectedShedLevel + + actualShedLevel, err := ReadSimpleField[ReadableProperty](ctx, "actualShedLevel", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetShedLevel")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'actualShedLevel' field")) + } + m.ActualShedLevel = actualShedLevel + + shedLevels, err := ReadSimpleField[WritableProperty](ctx, "shedLevels", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'shedLevels' field")) + } + m.ShedLevels = shedLevels + + shedLevelDescriptions, err := ReadSimpleField[ReadableProperty](ctx, "shedLevelDescriptions", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'shedLevelDescriptions' field")) + } + m.ShedLevelDescriptions = shedLevelDescriptions + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("LoadControl"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for LoadControl") + } + + return m, nil +} + +func (m *_LoadControl) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_LoadControl) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("LoadControl"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for LoadControl") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "stateDescription", m.GetStateDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stateDescription' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "requestedShedLevel", m.GetRequestedShedLevel(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'requestedShedLevel' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "startTime", m.GetStartTime(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'startTime' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "shedDuration", m.GetShedDuration(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'shedDuration' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "dutyWindow", m.GetDutyWindow(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'dutyWindow' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "enable", m.GetEnable(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'enable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "fullDutyBaseline", m.GetFullDutyBaseline(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'fullDutyBaseline' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "expectedShedLevel", m.GetExpectedShedLevel(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'expectedShedLevel' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "actualShedLevel", m.GetActualShedLevel(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'actualShedLevel' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "shedLevels", m.GetShedLevels(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'shedLevels' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "shedLevelDescriptions", m.GetShedLevelDescriptions(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'shedLevelDescriptions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("LoadControl"); popErr != nil { + return errors.Wrap(popErr, "Error popping for LoadControl") + } + return nil +} + +func (m *_LoadControl) IsLoadControl() {} + +func (m *_LoadControl) DeepCopy() any { + return m.deepCopy() +} + +func (m *_LoadControl) deepCopy() *_LoadControl { + if m == nil { + return nil + } + _LoadControlCopy := &_LoadControl{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StateDescription.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.RequestedShedLevel.DeepCopy().(WritableProperty), + m.StartTime.DeepCopy().(WritableProperty), + m.ShedDuration.DeepCopy().(WritableProperty), + m.DutyWindow.DeepCopy().(WritableProperty), + m.Enable.DeepCopy().(WritableProperty), + m.FullDutyBaseline.DeepCopy().(OptionalProperty), + m.ExpectedShedLevel.DeepCopy().(ReadableProperty), + m.ActualShedLevel.DeepCopy().(ReadableProperty), + m.ShedLevels.DeepCopy().(WritableProperty), + m.ShedLevelDescriptions.DeepCopy().(ReadableProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _LoadControlCopy +} + +func (m *_LoadControl) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Loop.go b/plc4go/protocols/bacnetip/readwrite/model/Loop.go new file mode 100644 index 00000000000..8765ed6d39e --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Loop.go @@ -0,0 +1,2796 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Loop is the corresponding interface of Loop +type Loop interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetUpdateInterval returns UpdateInterval (property field) + GetUpdateInterval() OptionalProperty + // GetOutputUnits returns OutputUnits (property field) + GetOutputUnits() ReadableProperty + // GetManipulatedVariableReference returns ManipulatedVariableReference (property field) + GetManipulatedVariableReference() ReadableProperty + // GetControlledVariableReference returns ControlledVariableReference (property field) + GetControlledVariableReference() ReadableProperty + // GetControlledVariableValue returns ControlledVariableValue (property field) + GetControlledVariableValue() ReadableProperty + // GetControlledVariableUnits returns ControlledVariableUnits (property field) + GetControlledVariableUnits() ReadableProperty + // GetSetpointReference returns SetpointReference (property field) + GetSetpointReference() ReadableProperty + // GetSetpoint returns Setpoint (property field) + GetSetpoint() ReadableProperty + // GetAction returns Action (property field) + GetAction() ReadableProperty + // GetProportionalConstant returns ProportionalConstant (property field) + GetProportionalConstant() OptionalProperty + // GetProportionalConstantUnits returns ProportionalConstantUnits (property field) + GetProportionalConstantUnits() OptionalProperty + // GetIntegralConstant returns IntegralConstant (property field) + GetIntegralConstant() OptionalProperty + // GetIntegralConstantUnits returns IntegralConstantUnits (property field) + GetIntegralConstantUnits() OptionalProperty + // GetDerivativeConstant returns DerivativeConstant (property field) + GetDerivativeConstant() OptionalProperty + // GetDerivativeConstantUnits returns DerivativeConstantUnits (property field) + GetDerivativeConstantUnits() OptionalProperty + // GetBias returns Bias (property field) + GetBias() OptionalProperty + // GetMaximumOutput returns MaximumOutput (property field) + GetMaximumOutput() OptionalProperty + // GetMinimumOutput returns MinimumOutput (property field) + GetMinimumOutput() OptionalProperty + // GetPriorityForWriting returns PriorityForWriting (property field) + GetPriorityForWriting() ReadableProperty + // GetCOVIncrement returns COVIncrement (property field) + GetCOVIncrement() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetErrorLimit returns ErrorLimit (property field) + GetErrorLimit() OptionalProperty + // GetDeadband returns Deadband (property field) + GetDeadband() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetLowDiffLimit returns LowDiffLimit (property field) + GetLowDiffLimit() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsLoop is a marker method to prevent unintentional type checks (interfaces of same signature) + IsLoop() + // CreateBuilder creates a LoopBuilder + CreateLoopBuilder() LoopBuilder +} + +// _Loop is the data-structure of this message +type _Loop struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + UpdateInterval OptionalProperty + OutputUnits ReadableProperty + ManipulatedVariableReference ReadableProperty + ControlledVariableReference ReadableProperty + ControlledVariableValue ReadableProperty + ControlledVariableUnits ReadableProperty + SetpointReference ReadableProperty + Setpoint ReadableProperty + Action ReadableProperty + ProportionalConstant OptionalProperty + ProportionalConstantUnits OptionalProperty + IntegralConstant OptionalProperty + IntegralConstantUnits OptionalProperty + DerivativeConstant OptionalProperty + DerivativeConstantUnits OptionalProperty + Bias OptionalProperty + MaximumOutput OptionalProperty + MinimumOutput OptionalProperty + PriorityForWriting ReadableProperty + COVIncrement OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + ErrorLimit OptionalProperty + Deadband OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + LowDiffLimit OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Loop = (*_Loop)(nil) + +// NewLoop factory function for _Loop +func NewLoop(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, updateInterval OptionalProperty, outputUnits ReadableProperty, manipulatedVariableReference ReadableProperty, controlledVariableReference ReadableProperty, controlledVariableValue ReadableProperty, controlledVariableUnits ReadableProperty, setpointReference ReadableProperty, setpoint ReadableProperty, action ReadableProperty, proportionalConstant OptionalProperty, proportionalConstantUnits OptionalProperty, integralConstant OptionalProperty, integralConstantUnits OptionalProperty, derivativeConstant OptionalProperty, derivativeConstantUnits OptionalProperty, bias OptionalProperty, maximumOutput OptionalProperty, minimumOutput OptionalProperty, priorityForWriting ReadableProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, errorLimit OptionalProperty, deadband OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, lowDiffLimit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Loop { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Loop must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Loop must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Loop must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for Loop must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Loop must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for Loop must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for Loop must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for Loop must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for Loop must not be nil") + } + if updateInterval == nil { + panic("updateInterval of type OptionalProperty for Loop must not be nil") + } + if outputUnits == nil { + panic("outputUnits of type ReadableProperty for Loop must not be nil") + } + if manipulatedVariableReference == nil { + panic("manipulatedVariableReference of type ReadableProperty for Loop must not be nil") + } + if controlledVariableReference == nil { + panic("controlledVariableReference of type ReadableProperty for Loop must not be nil") + } + if controlledVariableValue == nil { + panic("controlledVariableValue of type ReadableProperty for Loop must not be nil") + } + if controlledVariableUnits == nil { + panic("controlledVariableUnits of type ReadableProperty for Loop must not be nil") + } + if setpointReference == nil { + panic("setpointReference of type ReadableProperty for Loop must not be nil") + } + if setpoint == nil { + panic("setpoint of type ReadableProperty for Loop must not be nil") + } + if action == nil { + panic("action of type ReadableProperty for Loop must not be nil") + } + if proportionalConstant == nil { + panic("proportionalConstant of type OptionalProperty for Loop must not be nil") + } + if proportionalConstantUnits == nil { + panic("proportionalConstantUnits of type OptionalProperty for Loop must not be nil") + } + if integralConstant == nil { + panic("integralConstant of type OptionalProperty for Loop must not be nil") + } + if integralConstantUnits == nil { + panic("integralConstantUnits of type OptionalProperty for Loop must not be nil") + } + if derivativeConstant == nil { + panic("derivativeConstant of type OptionalProperty for Loop must not be nil") + } + if derivativeConstantUnits == nil { + panic("derivativeConstantUnits of type OptionalProperty for Loop must not be nil") + } + if bias == nil { + panic("bias of type OptionalProperty for Loop must not be nil") + } + if maximumOutput == nil { + panic("maximumOutput of type OptionalProperty for Loop must not be nil") + } + if minimumOutput == nil { + panic("minimumOutput of type OptionalProperty for Loop must not be nil") + } + if priorityForWriting == nil { + panic("priorityForWriting of type ReadableProperty for Loop must not be nil") + } + if cOVIncrement == nil { + panic("cOVIncrement of type OptionalProperty for Loop must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for Loop must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Loop must not be nil") + } + if errorLimit == nil { + panic("errorLimit of type OptionalProperty for Loop must not be nil") + } + if deadband == nil { + panic("deadband of type OptionalProperty for Loop must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Loop must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Loop must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Loop must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Loop must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Loop must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Loop must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Loop must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for Loop must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for Loop must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for Loop must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Loop must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Loop must not be nil") + } + if lowDiffLimit == nil { + panic("lowDiffLimit of type OptionalProperty for Loop must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Loop must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Loop must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Loop must not be nil") + } + return &_Loop{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, UpdateInterval: updateInterval, OutputUnits: outputUnits, ManipulatedVariableReference: manipulatedVariableReference, ControlledVariableReference: controlledVariableReference, ControlledVariableValue: controlledVariableValue, ControlledVariableUnits: controlledVariableUnits, SetpointReference: setpointReference, Setpoint: setpoint, Action: action, ProportionalConstant: proportionalConstant, ProportionalConstantUnits: proportionalConstantUnits, IntegralConstant: integralConstant, IntegralConstantUnits: integralConstantUnits, DerivativeConstant: derivativeConstant, DerivativeConstantUnits: derivativeConstantUnits, Bias: bias, MaximumOutput: maximumOutput, MinimumOutput: minimumOutput, PriorityForWriting: priorityForWriting, COVIncrement: cOVIncrement, TimeDelay: timeDelay, NotificationClass: notificationClass, ErrorLimit: errorLimit, Deadband: deadband, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, LowDiffLimit: lowDiffLimit, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// LoopBuilder is a builder for Loop +type LoopBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, updateInterval OptionalProperty, outputUnits ReadableProperty, manipulatedVariableReference ReadableProperty, controlledVariableReference ReadableProperty, controlledVariableValue ReadableProperty, controlledVariableUnits ReadableProperty, setpointReference ReadableProperty, setpoint ReadableProperty, action ReadableProperty, proportionalConstant OptionalProperty, proportionalConstantUnits OptionalProperty, integralConstant OptionalProperty, integralConstantUnits OptionalProperty, derivativeConstant OptionalProperty, derivativeConstantUnits OptionalProperty, bias OptionalProperty, maximumOutput OptionalProperty, minimumOutput OptionalProperty, priorityForWriting ReadableProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, errorLimit OptionalProperty, deadband OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, lowDiffLimit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LoopBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) LoopBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) LoopBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) LoopBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) LoopBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) LoopBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) LoopBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) LoopBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) LoopBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) LoopBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithUpdateInterval adds UpdateInterval (property field) + WithUpdateInterval(OptionalProperty) LoopBuilder + // WithUpdateIntervalBuilder adds UpdateInterval (property field) which is build by the builder + WithUpdateIntervalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithOutputUnits adds OutputUnits (property field) + WithOutputUnits(ReadableProperty) LoopBuilder + // WithOutputUnitsBuilder adds OutputUnits (property field) which is build by the builder + WithOutputUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithManipulatedVariableReference adds ManipulatedVariableReference (property field) + WithManipulatedVariableReference(ReadableProperty) LoopBuilder + // WithManipulatedVariableReferenceBuilder adds ManipulatedVariableReference (property field) which is build by the builder + WithManipulatedVariableReferenceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithControlledVariableReference adds ControlledVariableReference (property field) + WithControlledVariableReference(ReadableProperty) LoopBuilder + // WithControlledVariableReferenceBuilder adds ControlledVariableReference (property field) which is build by the builder + WithControlledVariableReferenceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithControlledVariableValue adds ControlledVariableValue (property field) + WithControlledVariableValue(ReadableProperty) LoopBuilder + // WithControlledVariableValueBuilder adds ControlledVariableValue (property field) which is build by the builder + WithControlledVariableValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithControlledVariableUnits adds ControlledVariableUnits (property field) + WithControlledVariableUnits(ReadableProperty) LoopBuilder + // WithControlledVariableUnitsBuilder adds ControlledVariableUnits (property field) which is build by the builder + WithControlledVariableUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithSetpointReference adds SetpointReference (property field) + WithSetpointReference(ReadableProperty) LoopBuilder + // WithSetpointReferenceBuilder adds SetpointReference (property field) which is build by the builder + WithSetpointReferenceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithSetpoint adds Setpoint (property field) + WithSetpoint(ReadableProperty) LoopBuilder + // WithSetpointBuilder adds Setpoint (property field) which is build by the builder + WithSetpointBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithAction adds Action (property field) + WithAction(ReadableProperty) LoopBuilder + // WithActionBuilder adds Action (property field) which is build by the builder + WithActionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithProportionalConstant adds ProportionalConstant (property field) + WithProportionalConstant(OptionalProperty) LoopBuilder + // WithProportionalConstantBuilder adds ProportionalConstant (property field) which is build by the builder + WithProportionalConstantBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithProportionalConstantUnits adds ProportionalConstantUnits (property field) + WithProportionalConstantUnits(OptionalProperty) LoopBuilder + // WithProportionalConstantUnitsBuilder adds ProportionalConstantUnits (property field) which is build by the builder + WithProportionalConstantUnitsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithIntegralConstant adds IntegralConstant (property field) + WithIntegralConstant(OptionalProperty) LoopBuilder + // WithIntegralConstantBuilder adds IntegralConstant (property field) which is build by the builder + WithIntegralConstantBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithIntegralConstantUnits adds IntegralConstantUnits (property field) + WithIntegralConstantUnits(OptionalProperty) LoopBuilder + // WithIntegralConstantUnitsBuilder adds IntegralConstantUnits (property field) which is build by the builder + WithIntegralConstantUnitsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithDerivativeConstant adds DerivativeConstant (property field) + WithDerivativeConstant(OptionalProperty) LoopBuilder + // WithDerivativeConstantBuilder adds DerivativeConstant (property field) which is build by the builder + WithDerivativeConstantBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithDerivativeConstantUnits adds DerivativeConstantUnits (property field) + WithDerivativeConstantUnits(OptionalProperty) LoopBuilder + // WithDerivativeConstantUnitsBuilder adds DerivativeConstantUnits (property field) which is build by the builder + WithDerivativeConstantUnitsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithBias adds Bias (property field) + WithBias(OptionalProperty) LoopBuilder + // WithBiasBuilder adds Bias (property field) which is build by the builder + WithBiasBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithMaximumOutput adds MaximumOutput (property field) + WithMaximumOutput(OptionalProperty) LoopBuilder + // WithMaximumOutputBuilder adds MaximumOutput (property field) which is build by the builder + WithMaximumOutputBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithMinimumOutput adds MinimumOutput (property field) + WithMinimumOutput(OptionalProperty) LoopBuilder + // WithMinimumOutputBuilder adds MinimumOutput (property field) which is build by the builder + WithMinimumOutputBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithPriorityForWriting adds PriorityForWriting (property field) + WithPriorityForWriting(ReadableProperty) LoopBuilder + // WithPriorityForWritingBuilder adds PriorityForWriting (property field) which is build by the builder + WithPriorityForWritingBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithCOVIncrement adds COVIncrement (property field) + WithCOVIncrement(OptionalProperty) LoopBuilder + // WithCOVIncrementBuilder adds COVIncrement (property field) which is build by the builder + WithCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) LoopBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) LoopBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithErrorLimit adds ErrorLimit (property field) + WithErrorLimit(OptionalProperty) LoopBuilder + // WithErrorLimitBuilder adds ErrorLimit (property field) which is build by the builder + WithErrorLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithDeadband adds Deadband (property field) + WithDeadband(OptionalProperty) LoopBuilder + // WithDeadbandBuilder adds Deadband (property field) which is build by the builder + WithDeadbandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) LoopBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) LoopBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) LoopBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) LoopBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) LoopBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) LoopBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) LoopBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) LoopBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) LoopBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) LoopBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) LoopBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) LoopBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder + // WithLowDiffLimit adds LowDiffLimit (property field) + WithLowDiffLimit(OptionalProperty) LoopBuilder + // WithLowDiffLimitBuilder adds LowDiffLimit (property field) which is build by the builder + WithLowDiffLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) LoopBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) LoopBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) LoopBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder + // Build builds the Loop or returns an error if something is wrong + Build() (Loop, error) + // MustBuild does the same as Build but panics on error + MustBuild() Loop +} + +// NewLoopBuilder() creates a LoopBuilder +func NewLoopBuilder() LoopBuilder { + return &_LoopBuilder{_Loop: new(_Loop)} +} + +type _LoopBuilder struct { + *_Loop + + err *utils.MultiError +} + +var _ (LoopBuilder) = (*_LoopBuilder)(nil) + +func (b *_LoopBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, updateInterval OptionalProperty, outputUnits ReadableProperty, manipulatedVariableReference ReadableProperty, controlledVariableReference ReadableProperty, controlledVariableValue ReadableProperty, controlledVariableUnits ReadableProperty, setpointReference ReadableProperty, setpoint ReadableProperty, action ReadableProperty, proportionalConstant OptionalProperty, proportionalConstantUnits OptionalProperty, integralConstant OptionalProperty, integralConstantUnits OptionalProperty, derivativeConstant OptionalProperty, derivativeConstantUnits OptionalProperty, bias OptionalProperty, maximumOutput OptionalProperty, minimumOutput OptionalProperty, priorityForWriting ReadableProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, errorLimit OptionalProperty, deadband OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, lowDiffLimit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) LoopBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithUpdateInterval(updateInterval).WithOutputUnits(outputUnits).WithManipulatedVariableReference(manipulatedVariableReference).WithControlledVariableReference(controlledVariableReference).WithControlledVariableValue(controlledVariableValue).WithControlledVariableUnits(controlledVariableUnits).WithSetpointReference(setpointReference).WithSetpoint(setpoint).WithAction(action).WithProportionalConstant(proportionalConstant).WithProportionalConstantUnits(proportionalConstantUnits).WithIntegralConstant(integralConstant).WithIntegralConstantUnits(integralConstantUnits).WithDerivativeConstant(derivativeConstant).WithDerivativeConstantUnits(derivativeConstantUnits).WithBias(bias).WithMaximumOutput(maximumOutput).WithMinimumOutput(minimumOutput).WithPriorityForWriting(priorityForWriting).WithCOVIncrement(cOVIncrement).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithErrorLimit(errorLimit).WithDeadband(deadband).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithLowDiffLimit(lowDiffLimit).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_LoopBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) LoopBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_LoopBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithObjectName(objectName ReadableProperty) LoopBuilder { + b.ObjectName = objectName + return b +} + +func (b *_LoopBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithObjectType(objectType ReadableProperty) LoopBuilder { + b.ObjectType = objectType + return b +} + +func (b *_LoopBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithPresentValue(presentValue ReadableProperty) LoopBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_LoopBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithDescription(description OptionalProperty) LoopBuilder { + b.Description = description + return b +} + +func (b *_LoopBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithStatusFlags(statusFlags ReadableProperty) LoopBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_LoopBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithEventState(eventState ReadableProperty) LoopBuilder { + b.EventState = eventState + return b +} + +func (b *_LoopBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithReliability(reliability OptionalProperty) LoopBuilder { + b.Reliability = reliability + return b +} + +func (b *_LoopBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithOutOfService(outOfService ReadableProperty) LoopBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_LoopBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithUpdateInterval(updateInterval OptionalProperty) LoopBuilder { + b.UpdateInterval = updateInterval + return b +} + +func (b *_LoopBuilder) WithUpdateIntervalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.UpdateInterval.CreateOptionalPropertyBuilder()) + var err error + b.UpdateInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithOutputUnits(outputUnits ReadableProperty) LoopBuilder { + b.OutputUnits = outputUnits + return b +} + +func (b *_LoopBuilder) WithOutputUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.OutputUnits.CreateReadablePropertyBuilder()) + var err error + b.OutputUnits, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithManipulatedVariableReference(manipulatedVariableReference ReadableProperty) LoopBuilder { + b.ManipulatedVariableReference = manipulatedVariableReference + return b +} + +func (b *_LoopBuilder) WithManipulatedVariableReferenceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ManipulatedVariableReference.CreateReadablePropertyBuilder()) + var err error + b.ManipulatedVariableReference, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithControlledVariableReference(controlledVariableReference ReadableProperty) LoopBuilder { + b.ControlledVariableReference = controlledVariableReference + return b +} + +func (b *_LoopBuilder) WithControlledVariableReferenceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ControlledVariableReference.CreateReadablePropertyBuilder()) + var err error + b.ControlledVariableReference, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithControlledVariableValue(controlledVariableValue ReadableProperty) LoopBuilder { + b.ControlledVariableValue = controlledVariableValue + return b +} + +func (b *_LoopBuilder) WithControlledVariableValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ControlledVariableValue.CreateReadablePropertyBuilder()) + var err error + b.ControlledVariableValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithControlledVariableUnits(controlledVariableUnits ReadableProperty) LoopBuilder { + b.ControlledVariableUnits = controlledVariableUnits + return b +} + +func (b *_LoopBuilder) WithControlledVariableUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ControlledVariableUnits.CreateReadablePropertyBuilder()) + var err error + b.ControlledVariableUnits, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithSetpointReference(setpointReference ReadableProperty) LoopBuilder { + b.SetpointReference = setpointReference + return b +} + +func (b *_LoopBuilder) WithSetpointReferenceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.SetpointReference.CreateReadablePropertyBuilder()) + var err error + b.SetpointReference, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithSetpoint(setpoint ReadableProperty) LoopBuilder { + b.Setpoint = setpoint + return b +} + +func (b *_LoopBuilder) WithSetpointBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.Setpoint.CreateReadablePropertyBuilder()) + var err error + b.Setpoint, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithAction(action ReadableProperty) LoopBuilder { + b.Action = action + return b +} + +func (b *_LoopBuilder) WithActionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.Action.CreateReadablePropertyBuilder()) + var err error + b.Action, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithProportionalConstant(proportionalConstant OptionalProperty) LoopBuilder { + b.ProportionalConstant = proportionalConstant + return b +} + +func (b *_LoopBuilder) WithProportionalConstantBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ProportionalConstant.CreateOptionalPropertyBuilder()) + var err error + b.ProportionalConstant, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithProportionalConstantUnits(proportionalConstantUnits OptionalProperty) LoopBuilder { + b.ProportionalConstantUnits = proportionalConstantUnits + return b +} + +func (b *_LoopBuilder) WithProportionalConstantUnitsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ProportionalConstantUnits.CreateOptionalPropertyBuilder()) + var err error + b.ProportionalConstantUnits, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithIntegralConstant(integralConstant OptionalProperty) LoopBuilder { + b.IntegralConstant = integralConstant + return b +} + +func (b *_LoopBuilder) WithIntegralConstantBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.IntegralConstant.CreateOptionalPropertyBuilder()) + var err error + b.IntegralConstant, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithIntegralConstantUnits(integralConstantUnits OptionalProperty) LoopBuilder { + b.IntegralConstantUnits = integralConstantUnits + return b +} + +func (b *_LoopBuilder) WithIntegralConstantUnitsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.IntegralConstantUnits.CreateOptionalPropertyBuilder()) + var err error + b.IntegralConstantUnits, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithDerivativeConstant(derivativeConstant OptionalProperty) LoopBuilder { + b.DerivativeConstant = derivativeConstant + return b +} + +func (b *_LoopBuilder) WithDerivativeConstantBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.DerivativeConstant.CreateOptionalPropertyBuilder()) + var err error + b.DerivativeConstant, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithDerivativeConstantUnits(derivativeConstantUnits OptionalProperty) LoopBuilder { + b.DerivativeConstantUnits = derivativeConstantUnits + return b +} + +func (b *_LoopBuilder) WithDerivativeConstantUnitsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.DerivativeConstantUnits.CreateOptionalPropertyBuilder()) + var err error + b.DerivativeConstantUnits, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithBias(bias OptionalProperty) LoopBuilder { + b.Bias = bias + return b +} + +func (b *_LoopBuilder) WithBiasBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.Bias.CreateOptionalPropertyBuilder()) + var err error + b.Bias, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithMaximumOutput(maximumOutput OptionalProperty) LoopBuilder { + b.MaximumOutput = maximumOutput + return b +} + +func (b *_LoopBuilder) WithMaximumOutputBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.MaximumOutput.CreateOptionalPropertyBuilder()) + var err error + b.MaximumOutput, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithMinimumOutput(minimumOutput OptionalProperty) LoopBuilder { + b.MinimumOutput = minimumOutput + return b +} + +func (b *_LoopBuilder) WithMinimumOutputBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.MinimumOutput.CreateOptionalPropertyBuilder()) + var err error + b.MinimumOutput, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithPriorityForWriting(priorityForWriting ReadableProperty) LoopBuilder { + b.PriorityForWriting = priorityForWriting + return b +} + +func (b *_LoopBuilder) WithPriorityForWritingBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.PriorityForWriting.CreateReadablePropertyBuilder()) + var err error + b.PriorityForWriting, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithCOVIncrement(cOVIncrement OptionalProperty) LoopBuilder { + b.COVIncrement = cOVIncrement + return b +} + +func (b *_LoopBuilder) WithCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.COVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.COVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithTimeDelay(timeDelay OptionalProperty) LoopBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_LoopBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithNotificationClass(notificationClass OptionalProperty) LoopBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_LoopBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithErrorLimit(errorLimit OptionalProperty) LoopBuilder { + b.ErrorLimit = errorLimit + return b +} + +func (b *_LoopBuilder) WithErrorLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ErrorLimit.CreateOptionalPropertyBuilder()) + var err error + b.ErrorLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithDeadband(deadband OptionalProperty) LoopBuilder { + b.Deadband = deadband + return b +} + +func (b *_LoopBuilder) WithDeadbandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.Deadband.CreateOptionalPropertyBuilder()) + var err error + b.Deadband, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithEventEnable(eventEnable OptionalProperty) LoopBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_LoopBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) LoopBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_LoopBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithNotifyType(notifyType OptionalProperty) LoopBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_LoopBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) LoopBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_LoopBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) LoopBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_LoopBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) LoopBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_LoopBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) LoopBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_LoopBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) LoopBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_LoopBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) LoopBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_LoopBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) LoopBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_LoopBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) LoopBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_LoopBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithPropertyList(propertyList ReadableProperty) LoopBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_LoopBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) LoopBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithLowDiffLimit(lowDiffLimit OptionalProperty) LoopBuilder { + b.LowDiffLimit = lowDiffLimit + return b +} + +func (b *_LoopBuilder) WithLowDiffLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.LowDiffLimit.CreateOptionalPropertyBuilder()) + var err error + b.LowDiffLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithTags(tags OptionalProperty) LoopBuilder { + b.Tags = tags + return b +} + +func (b *_LoopBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithProfileLocation(profileLocation OptionalProperty) LoopBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_LoopBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) WithProfileName(profileName OptionalProperty) LoopBuilder { + b.ProfileName = profileName + return b +} + +func (b *_LoopBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) LoopBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_LoopBuilder) Build() (Loop, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.UpdateInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'updateInterval' not set")) + } + if b.OutputUnits == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outputUnits' not set")) + } + if b.ManipulatedVariableReference == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'manipulatedVariableReference' not set")) + } + if b.ControlledVariableReference == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'controlledVariableReference' not set")) + } + if b.ControlledVariableValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'controlledVariableValue' not set")) + } + if b.ControlledVariableUnits == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'controlledVariableUnits' not set")) + } + if b.SetpointReference == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'setpointReference' not set")) + } + if b.Setpoint == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'setpoint' not set")) + } + if b.Action == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'action' not set")) + } + if b.ProportionalConstant == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'proportionalConstant' not set")) + } + if b.ProportionalConstantUnits == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'proportionalConstantUnits' not set")) + } + if b.IntegralConstant == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'integralConstant' not set")) + } + if b.IntegralConstantUnits == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'integralConstantUnits' not set")) + } + if b.DerivativeConstant == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'derivativeConstant' not set")) + } + if b.DerivativeConstantUnits == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'derivativeConstantUnits' not set")) + } + if b.Bias == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bias' not set")) + } + if b.MaximumOutput == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maximumOutput' not set")) + } + if b.MinimumOutput == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minimumOutput' not set")) + } + if b.PriorityForWriting == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityForWriting' not set")) + } + if b.COVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVIncrement' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.ErrorLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'errorLimit' not set")) + } + if b.Deadband == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deadband' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.LowDiffLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowDiffLimit' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Loop.deepCopy(), nil +} + +func (b *_LoopBuilder) MustBuild() Loop { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_LoopBuilder) DeepCopy() any { + _copy := b.CreateLoopBuilder().(*_LoopBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateLoopBuilder creates a LoopBuilder +func (b *_Loop) CreateLoopBuilder() LoopBuilder { + if b == nil { + return NewLoopBuilder() + } + return &_LoopBuilder{_Loop: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Loop) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Loop) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Loop) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Loop) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_Loop) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Loop) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_Loop) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_Loop) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_Loop) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_Loop) GetUpdateInterval() OptionalProperty { + return m.UpdateInterval +} + +func (m *_Loop) GetOutputUnits() ReadableProperty { + return m.OutputUnits +} + +func (m *_Loop) GetManipulatedVariableReference() ReadableProperty { + return m.ManipulatedVariableReference +} + +func (m *_Loop) GetControlledVariableReference() ReadableProperty { + return m.ControlledVariableReference +} + +func (m *_Loop) GetControlledVariableValue() ReadableProperty { + return m.ControlledVariableValue +} + +func (m *_Loop) GetControlledVariableUnits() ReadableProperty { + return m.ControlledVariableUnits +} + +func (m *_Loop) GetSetpointReference() ReadableProperty { + return m.SetpointReference +} + +func (m *_Loop) GetSetpoint() ReadableProperty { + return m.Setpoint +} + +func (m *_Loop) GetAction() ReadableProperty { + return m.Action +} + +func (m *_Loop) GetProportionalConstant() OptionalProperty { + return m.ProportionalConstant +} + +func (m *_Loop) GetProportionalConstantUnits() OptionalProperty { + return m.ProportionalConstantUnits +} + +func (m *_Loop) GetIntegralConstant() OptionalProperty { + return m.IntegralConstant +} + +func (m *_Loop) GetIntegralConstantUnits() OptionalProperty { + return m.IntegralConstantUnits +} + +func (m *_Loop) GetDerivativeConstant() OptionalProperty { + return m.DerivativeConstant +} + +func (m *_Loop) GetDerivativeConstantUnits() OptionalProperty { + return m.DerivativeConstantUnits +} + +func (m *_Loop) GetBias() OptionalProperty { + return m.Bias +} + +func (m *_Loop) GetMaximumOutput() OptionalProperty { + return m.MaximumOutput +} + +func (m *_Loop) GetMinimumOutput() OptionalProperty { + return m.MinimumOutput +} + +func (m *_Loop) GetPriorityForWriting() ReadableProperty { + return m.PriorityForWriting +} + +func (m *_Loop) GetCOVIncrement() OptionalProperty { + return m.COVIncrement +} + +func (m *_Loop) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_Loop) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Loop) GetErrorLimit() OptionalProperty { + return m.ErrorLimit +} + +func (m *_Loop) GetDeadband() OptionalProperty { + return m.Deadband +} + +func (m *_Loop) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Loop) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Loop) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Loop) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Loop) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Loop) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Loop) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Loop) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_Loop) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_Loop) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_Loop) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Loop) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Loop) GetLowDiffLimit() OptionalProperty { + return m.LowDiffLimit +} + +func (m *_Loop) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Loop) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Loop) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastLoop(structType any) Loop { + if casted, ok := structType.(Loop); ok { + return casted + } + if casted, ok := structType.(*Loop); ok { + return *casted + } + return nil +} + +func (m *_Loop) GetTypeName() string { + return "Loop" +} + +func (m *_Loop) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (updateInterval) + lengthInBits += m.UpdateInterval.GetLengthInBits(ctx) + + // Simple field (outputUnits) + lengthInBits += m.OutputUnits.GetLengthInBits(ctx) + + // Simple field (manipulatedVariableReference) + lengthInBits += m.ManipulatedVariableReference.GetLengthInBits(ctx) + + // Simple field (controlledVariableReference) + lengthInBits += m.ControlledVariableReference.GetLengthInBits(ctx) + + // Simple field (controlledVariableValue) + lengthInBits += m.ControlledVariableValue.GetLengthInBits(ctx) + + // Simple field (controlledVariableUnits) + lengthInBits += m.ControlledVariableUnits.GetLengthInBits(ctx) + + // Simple field (setpointReference) + lengthInBits += m.SetpointReference.GetLengthInBits(ctx) + + // Simple field (setpoint) + lengthInBits += m.Setpoint.GetLengthInBits(ctx) + + // Simple field (action) + lengthInBits += m.Action.GetLengthInBits(ctx) + + // Simple field (proportionalConstant) + lengthInBits += m.ProportionalConstant.GetLengthInBits(ctx) + + // Simple field (proportionalConstantUnits) + lengthInBits += m.ProportionalConstantUnits.GetLengthInBits(ctx) + + // Simple field (integralConstant) + lengthInBits += m.IntegralConstant.GetLengthInBits(ctx) + + // Simple field (integralConstantUnits) + lengthInBits += m.IntegralConstantUnits.GetLengthInBits(ctx) + + // Simple field (derivativeConstant) + lengthInBits += m.DerivativeConstant.GetLengthInBits(ctx) + + // Simple field (derivativeConstantUnits) + lengthInBits += m.DerivativeConstantUnits.GetLengthInBits(ctx) + + // Simple field (bias) + lengthInBits += m.Bias.GetLengthInBits(ctx) + + // Simple field (maximumOutput) + lengthInBits += m.MaximumOutput.GetLengthInBits(ctx) + + // Simple field (minimumOutput) + lengthInBits += m.MinimumOutput.GetLengthInBits(ctx) + + // Simple field (priorityForWriting) + lengthInBits += m.PriorityForWriting.GetLengthInBits(ctx) + + // Simple field (cOVIncrement) + lengthInBits += m.COVIncrement.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (errorLimit) + lengthInBits += m.ErrorLimit.GetLengthInBits(ctx) + + // Simple field (deadband) + lengthInBits += m.Deadband.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (lowDiffLimit) + lengthInBits += m.LowDiffLimit.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Loop) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func LoopParse(ctx context.Context, theBytes []byte) (Loop, error) { + return LoopParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func LoopParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Loop, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Loop, error) { + return LoopParseWithBuffer(ctx, readBuffer) + } +} + +func LoopParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Loop, error) { + v, err := (&_Loop{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Loop) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__loop Loop, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Loop"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Loop") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + updateInterval, err := ReadSimpleField[OptionalProperty](ctx, "updateInterval", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'updateInterval' field")) + } + m.UpdateInterval = updateInterval + + outputUnits, err := ReadSimpleField[ReadableProperty](ctx, "outputUnits", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outputUnits' field")) + } + m.OutputUnits = outputUnits + + manipulatedVariableReference, err := ReadSimpleField[ReadableProperty](ctx, "manipulatedVariableReference", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'manipulatedVariableReference' field")) + } + m.ManipulatedVariableReference = manipulatedVariableReference + + controlledVariableReference, err := ReadSimpleField[ReadableProperty](ctx, "controlledVariableReference", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'controlledVariableReference' field")) + } + m.ControlledVariableReference = controlledVariableReference + + controlledVariableValue, err := ReadSimpleField[ReadableProperty](ctx, "controlledVariableValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'controlledVariableValue' field")) + } + m.ControlledVariableValue = controlledVariableValue + + controlledVariableUnits, err := ReadSimpleField[ReadableProperty](ctx, "controlledVariableUnits", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'controlledVariableUnits' field")) + } + m.ControlledVariableUnits = controlledVariableUnits + + setpointReference, err := ReadSimpleField[ReadableProperty](ctx, "setpointReference", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetSetpointReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'setpointReference' field")) + } + m.SetpointReference = setpointReference + + setpoint, err := ReadSimpleField[ReadableProperty](ctx, "setpoint", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'setpoint' field")) + } + m.Setpoint = setpoint + + action, err := ReadSimpleField[ReadableProperty](ctx, "action", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetAction")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'action' field")) + } + m.Action = action + + proportionalConstant, err := ReadSimpleField[OptionalProperty](ctx, "proportionalConstant", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'proportionalConstant' field")) + } + m.ProportionalConstant = proportionalConstant + + proportionalConstantUnits, err := ReadSimpleField[OptionalProperty](ctx, "proportionalConstantUnits", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'proportionalConstantUnits' field")) + } + m.ProportionalConstantUnits = proportionalConstantUnits + + integralConstant, err := ReadSimpleField[OptionalProperty](ctx, "integralConstant", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'integralConstant' field")) + } + m.IntegralConstant = integralConstant + + integralConstantUnits, err := ReadSimpleField[OptionalProperty](ctx, "integralConstantUnits", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'integralConstantUnits' field")) + } + m.IntegralConstantUnits = integralConstantUnits + + derivativeConstant, err := ReadSimpleField[OptionalProperty](ctx, "derivativeConstant", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'derivativeConstant' field")) + } + m.DerivativeConstant = derivativeConstant + + derivativeConstantUnits, err := ReadSimpleField[OptionalProperty](ctx, "derivativeConstantUnits", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'derivativeConstantUnits' field")) + } + m.DerivativeConstantUnits = derivativeConstantUnits + + bias, err := ReadSimpleField[OptionalProperty](ctx, "bias", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bias' field")) + } + m.Bias = bias + + maximumOutput, err := ReadSimpleField[OptionalProperty](ctx, "maximumOutput", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maximumOutput' field")) + } + m.MaximumOutput = maximumOutput + + minimumOutput, err := ReadSimpleField[OptionalProperty](ctx, "minimumOutput", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minimumOutput' field")) + } + m.MinimumOutput = minimumOutput + + priorityForWriting, err := ReadSimpleField[ReadableProperty](ctx, "priorityForWriting", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned(1..16)")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityForWriting' field")) + } + m.PriorityForWriting = priorityForWriting + + cOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "cOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVIncrement' field")) + } + m.COVIncrement = cOVIncrement + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + errorLimit, err := ReadSimpleField[OptionalProperty](ctx, "errorLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'errorLimit' field")) + } + m.ErrorLimit = errorLimit + + deadband, err := ReadSimpleField[OptionalProperty](ctx, "deadband", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deadband' field")) + } + m.Deadband = deadband + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + lowDiffLimit, err := ReadSimpleField[OptionalProperty](ctx, "lowDiffLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalREAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowDiffLimit' field")) + } + m.LowDiffLimit = lowDiffLimit + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Loop"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Loop") + } + + return m, nil +} + +func (m *_Loop) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Loop) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Loop"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Loop") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "updateInterval", m.GetUpdateInterval(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'updateInterval' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outputUnits", m.GetOutputUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outputUnits' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "manipulatedVariableReference", m.GetManipulatedVariableReference(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'manipulatedVariableReference' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "controlledVariableReference", m.GetControlledVariableReference(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'controlledVariableReference' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "controlledVariableValue", m.GetControlledVariableValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'controlledVariableValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "controlledVariableUnits", m.GetControlledVariableUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'controlledVariableUnits' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "setpointReference", m.GetSetpointReference(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'setpointReference' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "setpoint", m.GetSetpoint(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'setpoint' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "action", m.GetAction(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'action' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "proportionalConstant", m.GetProportionalConstant(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'proportionalConstant' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "proportionalConstantUnits", m.GetProportionalConstantUnits(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'proportionalConstantUnits' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "integralConstant", m.GetIntegralConstant(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'integralConstant' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "integralConstantUnits", m.GetIntegralConstantUnits(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'integralConstantUnits' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "derivativeConstant", m.GetDerivativeConstant(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'derivativeConstant' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "derivativeConstantUnits", m.GetDerivativeConstantUnits(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'derivativeConstantUnits' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bias", m.GetBias(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bias' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maximumOutput", m.GetMaximumOutput(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maximumOutput' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minimumOutput", m.GetMinimumOutput(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minimumOutput' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priorityForWriting", m.GetPriorityForWriting(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityForWriting' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVIncrement", m.GetCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "errorLimit", m.GetErrorLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'errorLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deadband", m.GetDeadband(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deadband' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowDiffLimit", m.GetLowDiffLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowDiffLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Loop"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Loop") + } + return nil +} + +func (m *_Loop) IsLoop() {} + +func (m *_Loop) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Loop) deepCopy() *_Loop { + if m == nil { + return nil + } + _LoopCopy := &_Loop{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.UpdateInterval.DeepCopy().(OptionalProperty), + m.OutputUnits.DeepCopy().(ReadableProperty), + m.ManipulatedVariableReference.DeepCopy().(ReadableProperty), + m.ControlledVariableReference.DeepCopy().(ReadableProperty), + m.ControlledVariableValue.DeepCopy().(ReadableProperty), + m.ControlledVariableUnits.DeepCopy().(ReadableProperty), + m.SetpointReference.DeepCopy().(ReadableProperty), + m.Setpoint.DeepCopy().(ReadableProperty), + m.Action.DeepCopy().(ReadableProperty), + m.ProportionalConstant.DeepCopy().(OptionalProperty), + m.ProportionalConstantUnits.DeepCopy().(OptionalProperty), + m.IntegralConstant.DeepCopy().(OptionalProperty), + m.IntegralConstantUnits.DeepCopy().(OptionalProperty), + m.DerivativeConstant.DeepCopy().(OptionalProperty), + m.DerivativeConstantUnits.DeepCopy().(OptionalProperty), + m.Bias.DeepCopy().(OptionalProperty), + m.MaximumOutput.DeepCopy().(OptionalProperty), + m.MinimumOutput.DeepCopy().(OptionalProperty), + m.PriorityForWriting.DeepCopy().(ReadableProperty), + m.COVIncrement.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.ErrorLimit.DeepCopy().(OptionalProperty), + m.Deadband.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.LowDiffLimit.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _LoopCopy +} + +func (m *_Loop) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/MultistateInput.go b/plc4go/protocols/bacnetip/readwrite/model/MultistateInput.go new file mode 100644 index 00000000000..e35a0b3de0f --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/MultistateInput.go @@ -0,0 +1,1912 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// MultistateInput is the corresponding interface of MultistateInput +type MultistateInput interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetDeviceType returns DeviceType (property field) + GetDeviceType() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetNumberOfStates returns NumberOfStates (property field) + GetNumberOfStates() ReadableProperty + // GetStateText returns StateText (property field) + GetStateText() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetAlarmValues returns AlarmValues (property field) + GetAlarmValues() OptionalProperty + // GetFaultValues returns FaultValues (property field) + GetFaultValues() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetInterfaceValue returns InterfaceValue (property field) + GetInterfaceValue() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsMultistateInput is a marker method to prevent unintentional type checks (interfaces of same signature) + IsMultistateInput() + // CreateBuilder creates a MultistateInputBuilder + CreateMultistateInputBuilder() MultistateInputBuilder +} + +// _MultistateInput is the data-structure of this message +type _MultistateInput struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + DeviceType OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + NumberOfStates ReadableProperty + StateText OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + AlarmValues OptionalProperty + FaultValues OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + InterfaceValue OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ MultistateInput = (*_MultistateInput)(nil) + +// NewMultistateInput factory function for _MultistateInput +func NewMultistateInput(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, numberOfStates ReadableProperty, stateText OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_MultistateInput { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for MultistateInput must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for MultistateInput must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for MultistateInput must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for MultistateInput must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for MultistateInput must not be nil") + } + if deviceType == nil { + panic("deviceType of type OptionalProperty for MultistateInput must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for MultistateInput must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for MultistateInput must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for MultistateInput must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for MultistateInput must not be nil") + } + if numberOfStates == nil { + panic("numberOfStates of type ReadableProperty for MultistateInput must not be nil") + } + if stateText == nil { + panic("stateText of type OptionalProperty for MultistateInput must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for MultistateInput must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for MultistateInput must not be nil") + } + if alarmValues == nil { + panic("alarmValues of type OptionalProperty for MultistateInput must not be nil") + } + if faultValues == nil { + panic("faultValues of type OptionalProperty for MultistateInput must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for MultistateInput must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for MultistateInput must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for MultistateInput must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for MultistateInput must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for MultistateInput must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for MultistateInput must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for MultistateInput must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for MultistateInput must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for MultistateInput must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for MultistateInput must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for MultistateInput must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for MultistateInput must not be nil") + } + if interfaceValue == nil { + panic("interfaceValue of type OptionalProperty for MultistateInput must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for MultistateInput must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for MultistateInput must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for MultistateInput must not be nil") + } + return &_MultistateInput{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, DeviceType: deviceType, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, NumberOfStates: numberOfStates, StateText: stateText, TimeDelay: timeDelay, NotificationClass: notificationClass, AlarmValues: alarmValues, FaultValues: faultValues, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, InterfaceValue: interfaceValue, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// MultistateInputBuilder is a builder for MultistateInput +type MultistateInputBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, numberOfStates ReadableProperty, stateText OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) MultistateInputBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) MultistateInputBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) MultistateInputBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) MultistateInputBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) MultistateInputBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) MultistateInputBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithDeviceType adds DeviceType (property field) + WithDeviceType(OptionalProperty) MultistateInputBuilder + // WithDeviceTypeBuilder adds DeviceType (property field) which is build by the builder + WithDeviceTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) MultistateInputBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) MultistateInputBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) MultistateInputBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) MultistateInputBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder + // WithNumberOfStates adds NumberOfStates (property field) + WithNumberOfStates(ReadableProperty) MultistateInputBuilder + // WithNumberOfStatesBuilder adds NumberOfStates (property field) which is build by the builder + WithNumberOfStatesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder + // WithStateText adds StateText (property field) + WithStateText(OptionalProperty) MultistateInputBuilder + // WithStateTextBuilder adds StateText (property field) which is build by the builder + WithStateTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) MultistateInputBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) MultistateInputBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithAlarmValues adds AlarmValues (property field) + WithAlarmValues(OptionalProperty) MultistateInputBuilder + // WithAlarmValuesBuilder adds AlarmValues (property field) which is build by the builder + WithAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithFaultValues adds FaultValues (property field) + WithFaultValues(OptionalProperty) MultistateInputBuilder + // WithFaultValuesBuilder adds FaultValues (property field) which is build by the builder + WithFaultValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) MultistateInputBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) MultistateInputBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) MultistateInputBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) MultistateInputBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) MultistateInputBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) MultistateInputBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) MultistateInputBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) MultistateInputBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) MultistateInputBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) MultistateInputBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) MultistateInputBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) MultistateInputBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder + // WithInterfaceValue adds InterfaceValue (property field) + WithInterfaceValue(OptionalProperty) MultistateInputBuilder + // WithInterfaceValueBuilder adds InterfaceValue (property field) which is build by the builder + WithInterfaceValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) MultistateInputBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) MultistateInputBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) MultistateInputBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder + // Build builds the MultistateInput or returns an error if something is wrong + Build() (MultistateInput, error) + // MustBuild does the same as Build but panics on error + MustBuild() MultistateInput +} + +// NewMultistateInputBuilder() creates a MultistateInputBuilder +func NewMultistateInputBuilder() MultistateInputBuilder { + return &_MultistateInputBuilder{_MultistateInput: new(_MultistateInput)} +} + +type _MultistateInputBuilder struct { + *_MultistateInput + + err *utils.MultiError +} + +var _ (MultistateInputBuilder) = (*_MultistateInputBuilder)(nil) + +func (b *_MultistateInputBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, numberOfStates ReadableProperty, stateText OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) MultistateInputBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithDeviceType(deviceType).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithNumberOfStates(numberOfStates).WithStateText(stateText).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithAlarmValues(alarmValues).WithFaultValues(faultValues).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithInterfaceValue(interfaceValue).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_MultistateInputBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) MultistateInputBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_MultistateInputBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithObjectName(objectName ReadableProperty) MultistateInputBuilder { + b.ObjectName = objectName + return b +} + +func (b *_MultistateInputBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithObjectType(objectType ReadableProperty) MultistateInputBuilder { + b.ObjectType = objectType + return b +} + +func (b *_MultistateInputBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithPresentValue(presentValue ReadableProperty) MultistateInputBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_MultistateInputBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithDescription(description OptionalProperty) MultistateInputBuilder { + b.Description = description + return b +} + +func (b *_MultistateInputBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithDeviceType(deviceType OptionalProperty) MultistateInputBuilder { + b.DeviceType = deviceType + return b +} + +func (b *_MultistateInputBuilder) WithDeviceTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.DeviceType.CreateOptionalPropertyBuilder()) + var err error + b.DeviceType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithStatusFlags(statusFlags ReadableProperty) MultistateInputBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_MultistateInputBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithEventState(eventState ReadableProperty) MultistateInputBuilder { + b.EventState = eventState + return b +} + +func (b *_MultistateInputBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithReliability(reliability OptionalProperty) MultistateInputBuilder { + b.Reliability = reliability + return b +} + +func (b *_MultistateInputBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithOutOfService(outOfService ReadableProperty) MultistateInputBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_MultistateInputBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithNumberOfStates(numberOfStates ReadableProperty) MultistateInputBuilder { + b.NumberOfStates = numberOfStates + return b +} + +func (b *_MultistateInputBuilder) WithNumberOfStatesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.NumberOfStates.CreateReadablePropertyBuilder()) + var err error + b.NumberOfStates, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithStateText(stateText OptionalProperty) MultistateInputBuilder { + b.StateText = stateText + return b +} + +func (b *_MultistateInputBuilder) WithStateTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.StateText.CreateOptionalPropertyBuilder()) + var err error + b.StateText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithTimeDelay(timeDelay OptionalProperty) MultistateInputBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_MultistateInputBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithNotificationClass(notificationClass OptionalProperty) MultistateInputBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_MultistateInputBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithAlarmValues(alarmValues OptionalProperty) MultistateInputBuilder { + b.AlarmValues = alarmValues + return b +} + +func (b *_MultistateInputBuilder) WithAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.AlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithFaultValues(faultValues OptionalProperty) MultistateInputBuilder { + b.FaultValues = faultValues + return b +} + +func (b *_MultistateInputBuilder) WithFaultValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.FaultValues.CreateOptionalPropertyBuilder()) + var err error + b.FaultValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithEventEnable(eventEnable OptionalProperty) MultistateInputBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_MultistateInputBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) MultistateInputBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_MultistateInputBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithNotifyType(notifyType OptionalProperty) MultistateInputBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_MultistateInputBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) MultistateInputBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_MultistateInputBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) MultistateInputBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_MultistateInputBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) MultistateInputBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_MultistateInputBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) MultistateInputBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_MultistateInputBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) MultistateInputBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_MultistateInputBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) MultistateInputBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_MultistateInputBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) MultistateInputBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_MultistateInputBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) MultistateInputBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_MultistateInputBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithPropertyList(propertyList ReadableProperty) MultistateInputBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_MultistateInputBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithInterfaceValue(interfaceValue OptionalProperty) MultistateInputBuilder { + b.InterfaceValue = interfaceValue + return b +} + +func (b *_MultistateInputBuilder) WithInterfaceValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.InterfaceValue.CreateOptionalPropertyBuilder()) + var err error + b.InterfaceValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithTags(tags OptionalProperty) MultistateInputBuilder { + b.Tags = tags + return b +} + +func (b *_MultistateInputBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithProfileLocation(profileLocation OptionalProperty) MultistateInputBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_MultistateInputBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) WithProfileName(profileName OptionalProperty) MultistateInputBuilder { + b.ProfileName = profileName + return b +} + +func (b *_MultistateInputBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateInputBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateInputBuilder) Build() (MultistateInput, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.DeviceType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceType' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.NumberOfStates == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'numberOfStates' not set")) + } + if b.StateText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stateText' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.AlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValues' not set")) + } + if b.FaultValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultValues' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.InterfaceValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'interfaceValue' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._MultistateInput.deepCopy(), nil +} + +func (b *_MultistateInputBuilder) MustBuild() MultistateInput { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_MultistateInputBuilder) DeepCopy() any { + _copy := b.CreateMultistateInputBuilder().(*_MultistateInputBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateMultistateInputBuilder creates a MultistateInputBuilder +func (b *_MultistateInput) CreateMultistateInputBuilder() MultistateInputBuilder { + if b == nil { + return NewMultistateInputBuilder() + } + return &_MultistateInputBuilder{_MultistateInput: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_MultistateInput) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_MultistateInput) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_MultistateInput) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_MultistateInput) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_MultistateInput) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_MultistateInput) GetDeviceType() OptionalProperty { + return m.DeviceType +} + +func (m *_MultistateInput) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_MultistateInput) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_MultistateInput) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_MultistateInput) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_MultistateInput) GetNumberOfStates() ReadableProperty { + return m.NumberOfStates +} + +func (m *_MultistateInput) GetStateText() OptionalProperty { + return m.StateText +} + +func (m *_MultistateInput) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_MultistateInput) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_MultistateInput) GetAlarmValues() OptionalProperty { + return m.AlarmValues +} + +func (m *_MultistateInput) GetFaultValues() OptionalProperty { + return m.FaultValues +} + +func (m *_MultistateInput) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_MultistateInput) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_MultistateInput) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_MultistateInput) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_MultistateInput) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_MultistateInput) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_MultistateInput) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_MultistateInput) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_MultistateInput) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_MultistateInput) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_MultistateInput) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_MultistateInput) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_MultistateInput) GetInterfaceValue() OptionalProperty { + return m.InterfaceValue +} + +func (m *_MultistateInput) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_MultistateInput) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_MultistateInput) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastMultistateInput(structType any) MultistateInput { + if casted, ok := structType.(MultistateInput); ok { + return casted + } + if casted, ok := structType.(*MultistateInput); ok { + return *casted + } + return nil +} + +func (m *_MultistateInput) GetTypeName() string { + return "MultistateInput" +} + +func (m *_MultistateInput) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (deviceType) + lengthInBits += m.DeviceType.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (numberOfStates) + lengthInBits += m.NumberOfStates.GetLengthInBits(ctx) + + // Simple field (stateText) + lengthInBits += m.StateText.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (alarmValues) + lengthInBits += m.AlarmValues.GetLengthInBits(ctx) + + // Simple field (faultValues) + lengthInBits += m.FaultValues.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (interfaceValue) + lengthInBits += m.InterfaceValue.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_MultistateInput) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func MultistateInputParse(ctx context.Context, theBytes []byte) (MultistateInput, error) { + return MultistateInputParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func MultistateInputParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (MultistateInput, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (MultistateInput, error) { + return MultistateInputParseWithBuffer(ctx, readBuffer) + } +} + +func MultistateInputParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (MultistateInput, error) { + v, err := (&_MultistateInput{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_MultistateInput) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__multistateInput MultistateInput, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("MultistateInput"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for MultistateInput") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + deviceType, err := ReadSimpleField[OptionalProperty](ctx, "deviceType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceType' field")) + } + m.DeviceType = deviceType + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + numberOfStates, err := ReadSimpleField[ReadableProperty](ctx, "numberOfStates", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'numberOfStates' field")) + } + m.NumberOfStates = numberOfStates + + stateText, err := ReadSimpleField[OptionalProperty](ctx, "stateText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stateText' field")) + } + m.StateText = stateText + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + alarmValues, err := ReadSimpleField[OptionalProperty](ctx, "alarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValues' field")) + } + m.AlarmValues = alarmValues + + faultValues, err := ReadSimpleField[OptionalProperty](ctx, "faultValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultValues' field")) + } + m.FaultValues = faultValues + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + interfaceValue, err := ReadSimpleField[OptionalProperty](ctx, "interfaceValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'interfaceValue' field")) + } + m.InterfaceValue = interfaceValue + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("MultistateInput"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for MultistateInput") + } + + return m, nil +} + +func (m *_MultistateInput) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_MultistateInput) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("MultistateInput"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for MultistateInput") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deviceType", m.GetDeviceType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "numberOfStates", m.GetNumberOfStates(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'numberOfStates' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "stateText", m.GetStateText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stateText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValues", m.GetAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultValues", m.GetFaultValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "interfaceValue", m.GetInterfaceValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'interfaceValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("MultistateInput"); popErr != nil { + return errors.Wrap(popErr, "Error popping for MultistateInput") + } + return nil +} + +func (m *_MultistateInput) IsMultistateInput() {} + +func (m *_MultistateInput) DeepCopy() any { + return m.deepCopy() +} + +func (m *_MultistateInput) deepCopy() *_MultistateInput { + if m == nil { + return nil + } + _MultistateInputCopy := &_MultistateInput{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.DeviceType.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.NumberOfStates.DeepCopy().(ReadableProperty), + m.StateText.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.AlarmValues.DeepCopy().(OptionalProperty), + m.FaultValues.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.InterfaceValue.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _MultistateInputCopy +} + +func (m *_MultistateInput) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/MultistateOutput.go b/plc4go/protocols/bacnetip/readwrite/model/MultistateOutput.go new file mode 100644 index 00000000000..564b8ba556f --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/MultistateOutput.go @@ -0,0 +1,2224 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// MultistateOutput is the corresponding interface of MultistateOutput +type MultistateOutput interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() WritableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetDeviceType returns DeviceType (property field) + GetDeviceType() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetNumberOfStates returns NumberOfStates (property field) + GetNumberOfStates() ReadableProperty + // GetStateText returns StateText (property field) + GetStateText() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() ReadableProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() ReadableProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetFeedbackValue returns FeedbackValue (property field) + GetFeedbackValue() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetInterfaceValue returns InterfaceValue (property field) + GetInterfaceValue() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() ReadableProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsMultistateOutput is a marker method to prevent unintentional type checks (interfaces of same signature) + IsMultistateOutput() + // CreateBuilder creates a MultistateOutputBuilder + CreateMultistateOutputBuilder() MultistateOutputBuilder +} + +// _MultistateOutput is the data-structure of this message +type _MultistateOutput struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue WritableProperty + Description OptionalProperty + DeviceType OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + NumberOfStates ReadableProperty + StateText OptionalProperty + PriorityArray ReadableProperty + RelinquishDefault ReadableProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + FeedbackValue OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + InterfaceValue OptionalProperty + CurrentCommandPriority ReadableProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ MultistateOutput = (*_MultistateOutput)(nil) + +// NewMultistateOutput factory function for _MultistateOutput +func NewMultistateOutput(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, numberOfStates ReadableProperty, stateText OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, feedbackValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_MultistateOutput { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for MultistateOutput must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for MultistateOutput must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for MultistateOutput must not be nil") + } + if presentValue == nil { + panic("presentValue of type WritableProperty for MultistateOutput must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for MultistateOutput must not be nil") + } + if deviceType == nil { + panic("deviceType of type OptionalProperty for MultistateOutput must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for MultistateOutput must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for MultistateOutput must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for MultistateOutput must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for MultistateOutput must not be nil") + } + if numberOfStates == nil { + panic("numberOfStates of type ReadableProperty for MultistateOutput must not be nil") + } + if stateText == nil { + panic("stateText of type OptionalProperty for MultistateOutput must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type ReadableProperty for MultistateOutput must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type ReadableProperty for MultistateOutput must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for MultistateOutput must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for MultistateOutput must not be nil") + } + if feedbackValue == nil { + panic("feedbackValue of type OptionalProperty for MultistateOutput must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for MultistateOutput must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for MultistateOutput must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for MultistateOutput must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for MultistateOutput must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for MultistateOutput must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for MultistateOutput must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for MultistateOutput must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for MultistateOutput must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for MultistateOutput must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for MultistateOutput must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for MultistateOutput must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for MultistateOutput must not be nil") + } + if interfaceValue == nil { + panic("interfaceValue of type OptionalProperty for MultistateOutput must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type ReadableProperty for MultistateOutput must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for MultistateOutput must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for MultistateOutput must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for MultistateOutput must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for MultistateOutput must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for MultistateOutput must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for MultistateOutput must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for MultistateOutput must not be nil") + } + return &_MultistateOutput{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, DeviceType: deviceType, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, NumberOfStates: numberOfStates, StateText: stateText, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, TimeDelay: timeDelay, NotificationClass: notificationClass, FeedbackValue: feedbackValue, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, InterfaceValue: interfaceValue, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// MultistateOutputBuilder is a builder for MultistateOutput +type MultistateOutputBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, numberOfStates ReadableProperty, stateText OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, feedbackValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) MultistateOutputBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) MultistateOutputBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) MultistateOutputBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) MultistateOutputBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(WritableProperty) MultistateOutputBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) MultistateOutputBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) MultistateOutputBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithDeviceType adds DeviceType (property field) + WithDeviceType(OptionalProperty) MultistateOutputBuilder + // WithDeviceTypeBuilder adds DeviceType (property field) which is build by the builder + WithDeviceTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) MultistateOutputBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) MultistateOutputBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) MultistateOutputBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) MultistateOutputBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithNumberOfStates adds NumberOfStates (property field) + WithNumberOfStates(ReadableProperty) MultistateOutputBuilder + // WithNumberOfStatesBuilder adds NumberOfStates (property field) which is build by the builder + WithNumberOfStatesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithStateText adds StateText (property field) + WithStateText(OptionalProperty) MultistateOutputBuilder + // WithStateTextBuilder adds StateText (property field) which is build by the builder + WithStateTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(ReadableProperty) MultistateOutputBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(ReadableProperty) MultistateOutputBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) MultistateOutputBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) MultistateOutputBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithFeedbackValue adds FeedbackValue (property field) + WithFeedbackValue(OptionalProperty) MultistateOutputBuilder + // WithFeedbackValueBuilder adds FeedbackValue (property field) which is build by the builder + WithFeedbackValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) MultistateOutputBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) MultistateOutputBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) MultistateOutputBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) MultistateOutputBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) MultistateOutputBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) MultistateOutputBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) MultistateOutputBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) MultistateOutputBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) MultistateOutputBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) MultistateOutputBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) MultistateOutputBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) MultistateOutputBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithInterfaceValue adds InterfaceValue (property field) + WithInterfaceValue(OptionalProperty) MultistateOutputBuilder + // WithInterfaceValueBuilder adds InterfaceValue (property field) which is build by the builder + WithInterfaceValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(ReadableProperty) MultistateOutputBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) MultistateOutputBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) MultistateOutputBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) MultistateOutputBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) MultistateOutputBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) MultistateOutputBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) MultistateOutputBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) MultistateOutputBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder + // Build builds the MultistateOutput or returns an error if something is wrong + Build() (MultistateOutput, error) + // MustBuild does the same as Build but panics on error + MustBuild() MultistateOutput +} + +// NewMultistateOutputBuilder() creates a MultistateOutputBuilder +func NewMultistateOutputBuilder() MultistateOutputBuilder { + return &_MultistateOutputBuilder{_MultistateOutput: new(_MultistateOutput)} +} + +type _MultistateOutputBuilder struct { + *_MultistateOutput + + err *utils.MultiError +} + +var _ (MultistateOutputBuilder) = (*_MultistateOutputBuilder)(nil) + +func (b *_MultistateOutputBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue WritableProperty, description OptionalProperty, deviceType OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, numberOfStates ReadableProperty, stateText OptionalProperty, priorityArray ReadableProperty, relinquishDefault ReadableProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, feedbackValue OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, interfaceValue OptionalProperty, currentCommandPriority ReadableProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) MultistateOutputBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithDeviceType(deviceType).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithNumberOfStates(numberOfStates).WithStateText(stateText).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithFeedbackValue(feedbackValue).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithInterfaceValue(interfaceValue).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_MultistateOutputBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) MultistateOutputBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_MultistateOutputBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithObjectName(objectName ReadableProperty) MultistateOutputBuilder { + b.ObjectName = objectName + return b +} + +func (b *_MultistateOutputBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithObjectType(objectType ReadableProperty) MultistateOutputBuilder { + b.ObjectType = objectType + return b +} + +func (b *_MultistateOutputBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithPresentValue(presentValue WritableProperty) MultistateOutputBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_MultistateOutputBuilder) WithPresentValueBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.PresentValue.CreateWritablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithDescription(description OptionalProperty) MultistateOutputBuilder { + b.Description = description + return b +} + +func (b *_MultistateOutputBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithDeviceType(deviceType OptionalProperty) MultistateOutputBuilder { + b.DeviceType = deviceType + return b +} + +func (b *_MultistateOutputBuilder) WithDeviceTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.DeviceType.CreateOptionalPropertyBuilder()) + var err error + b.DeviceType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithStatusFlags(statusFlags ReadableProperty) MultistateOutputBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_MultistateOutputBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithEventState(eventState ReadableProperty) MultistateOutputBuilder { + b.EventState = eventState + return b +} + +func (b *_MultistateOutputBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithReliability(reliability OptionalProperty) MultistateOutputBuilder { + b.Reliability = reliability + return b +} + +func (b *_MultistateOutputBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithOutOfService(outOfService ReadableProperty) MultistateOutputBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_MultistateOutputBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithNumberOfStates(numberOfStates ReadableProperty) MultistateOutputBuilder { + b.NumberOfStates = numberOfStates + return b +} + +func (b *_MultistateOutputBuilder) WithNumberOfStatesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.NumberOfStates.CreateReadablePropertyBuilder()) + var err error + b.NumberOfStates, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithStateText(stateText OptionalProperty) MultistateOutputBuilder { + b.StateText = stateText + return b +} + +func (b *_MultistateOutputBuilder) WithStateTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.StateText.CreateOptionalPropertyBuilder()) + var err error + b.StateText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithPriorityArray(priorityArray ReadableProperty) MultistateOutputBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_MultistateOutputBuilder) WithPriorityArrayBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.PriorityArray.CreateReadablePropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithRelinquishDefault(relinquishDefault ReadableProperty) MultistateOutputBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_MultistateOutputBuilder) WithRelinquishDefaultBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateReadablePropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithTimeDelay(timeDelay OptionalProperty) MultistateOutputBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_MultistateOutputBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithNotificationClass(notificationClass OptionalProperty) MultistateOutputBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_MultistateOutputBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithFeedbackValue(feedbackValue OptionalProperty) MultistateOutputBuilder { + b.FeedbackValue = feedbackValue + return b +} + +func (b *_MultistateOutputBuilder) WithFeedbackValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.FeedbackValue.CreateOptionalPropertyBuilder()) + var err error + b.FeedbackValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithEventEnable(eventEnable OptionalProperty) MultistateOutputBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_MultistateOutputBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) MultistateOutputBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_MultistateOutputBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithNotifyType(notifyType OptionalProperty) MultistateOutputBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_MultistateOutputBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) MultistateOutputBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_MultistateOutputBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) MultistateOutputBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_MultistateOutputBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) MultistateOutputBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_MultistateOutputBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) MultistateOutputBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_MultistateOutputBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) MultistateOutputBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_MultistateOutputBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) MultistateOutputBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_MultistateOutputBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) MultistateOutputBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_MultistateOutputBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) MultistateOutputBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_MultistateOutputBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithPropertyList(propertyList ReadableProperty) MultistateOutputBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_MultistateOutputBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithInterfaceValue(interfaceValue OptionalProperty) MultistateOutputBuilder { + b.InterfaceValue = interfaceValue + return b +} + +func (b *_MultistateOutputBuilder) WithInterfaceValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.InterfaceValue.CreateOptionalPropertyBuilder()) + var err error + b.InterfaceValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithCurrentCommandPriority(currentCommandPriority ReadableProperty) MultistateOutputBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_MultistateOutputBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateReadablePropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithValueSource(valueSource OptionalProperty) MultistateOutputBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_MultistateOutputBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) MultistateOutputBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_MultistateOutputBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) MultistateOutputBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_MultistateOutputBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) MultistateOutputBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_MultistateOutputBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithTags(tags OptionalProperty) MultistateOutputBuilder { + b.Tags = tags + return b +} + +func (b *_MultistateOutputBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithProfileLocation(profileLocation OptionalProperty) MultistateOutputBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_MultistateOutputBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) WithProfileName(profileName OptionalProperty) MultistateOutputBuilder { + b.ProfileName = profileName + return b +} + +func (b *_MultistateOutputBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateOutputBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateOutputBuilder) Build() (MultistateOutput, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.DeviceType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deviceType' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.NumberOfStates == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'numberOfStates' not set")) + } + if b.StateText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stateText' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.FeedbackValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'feedbackValue' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.InterfaceValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'interfaceValue' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._MultistateOutput.deepCopy(), nil +} + +func (b *_MultistateOutputBuilder) MustBuild() MultistateOutput { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_MultistateOutputBuilder) DeepCopy() any { + _copy := b.CreateMultistateOutputBuilder().(*_MultistateOutputBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateMultistateOutputBuilder creates a MultistateOutputBuilder +func (b *_MultistateOutput) CreateMultistateOutputBuilder() MultistateOutputBuilder { + if b == nil { + return NewMultistateOutputBuilder() + } + return &_MultistateOutputBuilder{_MultistateOutput: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_MultistateOutput) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_MultistateOutput) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_MultistateOutput) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_MultistateOutput) GetPresentValue() WritableProperty { + return m.PresentValue +} + +func (m *_MultistateOutput) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_MultistateOutput) GetDeviceType() OptionalProperty { + return m.DeviceType +} + +func (m *_MultistateOutput) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_MultistateOutput) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_MultistateOutput) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_MultistateOutput) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_MultistateOutput) GetNumberOfStates() ReadableProperty { + return m.NumberOfStates +} + +func (m *_MultistateOutput) GetStateText() OptionalProperty { + return m.StateText +} + +func (m *_MultistateOutput) GetPriorityArray() ReadableProperty { + return m.PriorityArray +} + +func (m *_MultistateOutput) GetRelinquishDefault() ReadableProperty { + return m.RelinquishDefault +} + +func (m *_MultistateOutput) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_MultistateOutput) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_MultistateOutput) GetFeedbackValue() OptionalProperty { + return m.FeedbackValue +} + +func (m *_MultistateOutput) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_MultistateOutput) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_MultistateOutput) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_MultistateOutput) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_MultistateOutput) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_MultistateOutput) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_MultistateOutput) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_MultistateOutput) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_MultistateOutput) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_MultistateOutput) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_MultistateOutput) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_MultistateOutput) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_MultistateOutput) GetInterfaceValue() OptionalProperty { + return m.InterfaceValue +} + +func (m *_MultistateOutput) GetCurrentCommandPriority() ReadableProperty { + return m.CurrentCommandPriority +} + +func (m *_MultistateOutput) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_MultistateOutput) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_MultistateOutput) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_MultistateOutput) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_MultistateOutput) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_MultistateOutput) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_MultistateOutput) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastMultistateOutput(structType any) MultistateOutput { + if casted, ok := structType.(MultistateOutput); ok { + return casted + } + if casted, ok := structType.(*MultistateOutput); ok { + return *casted + } + return nil +} + +func (m *_MultistateOutput) GetTypeName() string { + return "MultistateOutput" +} + +func (m *_MultistateOutput) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (deviceType) + lengthInBits += m.DeviceType.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (numberOfStates) + lengthInBits += m.NumberOfStates.GetLengthInBits(ctx) + + // Simple field (stateText) + lengthInBits += m.StateText.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (feedbackValue) + lengthInBits += m.FeedbackValue.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (interfaceValue) + lengthInBits += m.InterfaceValue.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_MultistateOutput) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func MultistateOutputParse(ctx context.Context, theBytes []byte) (MultistateOutput, error) { + return MultistateOutputParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func MultistateOutputParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (MultistateOutput, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (MultistateOutput, error) { + return MultistateOutputParseWithBuffer(ctx, readBuffer) + } +} + +func MultistateOutputParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (MultistateOutput, error) { + v, err := (&_MultistateOutput{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_MultistateOutput) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__multistateOutput MultistateOutput, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("MultistateOutput"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for MultistateOutput") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[WritableProperty](ctx, "presentValue", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + deviceType, err := ReadSimpleField[OptionalProperty](ctx, "deviceType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deviceType' field")) + } + m.DeviceType = deviceType + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + numberOfStates, err := ReadSimpleField[ReadableProperty](ctx, "numberOfStates", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'numberOfStates' field")) + } + m.NumberOfStates = numberOfStates + + stateText, err := ReadSimpleField[OptionalProperty](ctx, "stateText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stateText' field")) + } + m.StateText = stateText + + priorityArray, err := ReadSimpleField[ReadableProperty](ctx, "priorityArray", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[ReadableProperty](ctx, "relinquishDefault", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + feedbackValue, err := ReadSimpleField[OptionalProperty](ctx, "feedbackValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'feedbackValue' field")) + } + m.FeedbackValue = feedbackValue + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + interfaceValue, err := ReadSimpleField[OptionalProperty](ctx, "interfaceValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'interfaceValue' field")) + } + m.InterfaceValue = interfaceValue + + currentCommandPriority, err := ReadSimpleField[ReadableProperty](ctx, "currentCommandPriority", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("MultistateOutput"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for MultistateOutput") + } + + return m, nil +} + +func (m *_MultistateOutput) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_MultistateOutput) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("MultistateOutput"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for MultistateOutput") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deviceType", m.GetDeviceType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deviceType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "numberOfStates", m.GetNumberOfStates(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'numberOfStates' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "stateText", m.GetStateText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stateText' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "feedbackValue", m.GetFeedbackValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'feedbackValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "interfaceValue", m.GetInterfaceValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'interfaceValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("MultistateOutput"); popErr != nil { + return errors.Wrap(popErr, "Error popping for MultistateOutput") + } + return nil +} + +func (m *_MultistateOutput) IsMultistateOutput() {} + +func (m *_MultistateOutput) DeepCopy() any { + return m.deepCopy() +} + +func (m *_MultistateOutput) deepCopy() *_MultistateOutput { + if m == nil { + return nil + } + _MultistateOutputCopy := &_MultistateOutput{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(WritableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.DeviceType.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.NumberOfStates.DeepCopy().(ReadableProperty), + m.StateText.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(ReadableProperty), + m.RelinquishDefault.DeepCopy().(ReadableProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.FeedbackValue.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.InterfaceValue.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(ReadableProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _MultistateOutputCopy +} + +func (m *_MultistateOutput) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/MultistateValue.go b/plc4go/protocols/bacnetip/readwrite/model/MultistateValue.go new file mode 100644 index 00000000000..3b401bc1bd4 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/MultistateValue.go @@ -0,0 +1,2172 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// MultistateValue is the corresponding interface of MultistateValue +type MultistateValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetNumberOfStates returns NumberOfStates (property field) + GetNumberOfStates() ReadableProperty + // GetStateText returns StateText (property field) + GetStateText() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetAlarmValues returns AlarmValues (property field) + GetAlarmValues() OptionalProperty + // GetFaultValues returns FaultValues (property field) + GetFaultValues() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsMultistateValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsMultistateValue() + // CreateBuilder creates a MultistateValueBuilder + CreateMultistateValueBuilder() MultistateValueBuilder +} + +// _MultistateValue is the data-structure of this message +type _MultistateValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + NumberOfStates ReadableProperty + StateText OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + AlarmValues OptionalProperty + FaultValues OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ MultistateValue = (*_MultistateValue)(nil) + +// NewMultistateValue factory function for _MultistateValue +func NewMultistateValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, numberOfStates ReadableProperty, stateText OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_MultistateValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for MultistateValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for MultistateValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for MultistateValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for MultistateValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for MultistateValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for MultistateValue must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for MultistateValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for MultistateValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for MultistateValue must not be nil") + } + if numberOfStates == nil { + panic("numberOfStates of type ReadableProperty for MultistateValue must not be nil") + } + if stateText == nil { + panic("stateText of type OptionalProperty for MultistateValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for MultistateValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for MultistateValue must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for MultistateValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for MultistateValue must not be nil") + } + if alarmValues == nil { + panic("alarmValues of type OptionalProperty for MultistateValue must not be nil") + } + if faultValues == nil { + panic("faultValues of type OptionalProperty for MultistateValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for MultistateValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for MultistateValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for MultistateValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for MultistateValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for MultistateValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for MultistateValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for MultistateValue must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for MultistateValue must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for MultistateValue must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for MultistateValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for MultistateValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for MultistateValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for MultistateValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for MultistateValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for MultistateValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for MultistateValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for MultistateValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for MultistateValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for MultistateValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for MultistateValue must not be nil") + } + return &_MultistateValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, NumberOfStates: numberOfStates, StateText: stateText, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, TimeDelay: timeDelay, NotificationClass: notificationClass, AlarmValues: alarmValues, FaultValues: faultValues, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// MultistateValueBuilder is a builder for MultistateValue +type MultistateValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, numberOfStates ReadableProperty, stateText OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) MultistateValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) MultistateValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) MultistateValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) MultistateValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) MultistateValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) MultistateValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) MultistateValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) MultistateValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) MultistateValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) MultistateValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder + // WithNumberOfStates adds NumberOfStates (property field) + WithNumberOfStates(ReadableProperty) MultistateValueBuilder + // WithNumberOfStatesBuilder adds NumberOfStates (property field) which is build by the builder + WithNumberOfStatesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder + // WithStateText adds StateText (property field) + WithStateText(OptionalProperty) MultistateValueBuilder + // WithStateTextBuilder adds StateText (property field) which is build by the builder + WithStateTextBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) MultistateValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) MultistateValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) MultistateValueBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) MultistateValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithAlarmValues adds AlarmValues (property field) + WithAlarmValues(OptionalProperty) MultistateValueBuilder + // WithAlarmValuesBuilder adds AlarmValues (property field) which is build by the builder + WithAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithFaultValues adds FaultValues (property field) + WithFaultValues(OptionalProperty) MultistateValueBuilder + // WithFaultValuesBuilder adds FaultValues (property field) which is build by the builder + WithFaultValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) MultistateValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) MultistateValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) MultistateValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) MultistateValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) MultistateValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) MultistateValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) MultistateValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) MultistateValueBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) MultistateValueBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) MultistateValueBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) MultistateValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) MultistateValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) MultistateValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) MultistateValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) MultistateValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) MultistateValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) MultistateValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) MultistateValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) MultistateValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) MultistateValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder + // Build builds the MultistateValue or returns an error if something is wrong + Build() (MultistateValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() MultistateValue +} + +// NewMultistateValueBuilder() creates a MultistateValueBuilder +func NewMultistateValueBuilder() MultistateValueBuilder { + return &_MultistateValueBuilder{_MultistateValue: new(_MultistateValue)} +} + +type _MultistateValueBuilder struct { + *_MultistateValue + + err *utils.MultiError +} + +var _ (MultistateValueBuilder) = (*_MultistateValueBuilder)(nil) + +func (b *_MultistateValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, numberOfStates ReadableProperty, stateText OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, alarmValues OptionalProperty, faultValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) MultistateValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithNumberOfStates(numberOfStates).WithStateText(stateText).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithAlarmValues(alarmValues).WithFaultValues(faultValues).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_MultistateValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) MultistateValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_MultistateValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithObjectName(objectName ReadableProperty) MultistateValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_MultistateValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithObjectType(objectType ReadableProperty) MultistateValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_MultistateValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithPresentValue(presentValue ReadableProperty) MultistateValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_MultistateValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithDescription(description OptionalProperty) MultistateValueBuilder { + b.Description = description + return b +} + +func (b *_MultistateValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithStatusFlags(statusFlags ReadableProperty) MultistateValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_MultistateValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithEventState(eventState ReadableProperty) MultistateValueBuilder { + b.EventState = eventState + return b +} + +func (b *_MultistateValueBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithReliability(reliability OptionalProperty) MultistateValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_MultistateValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithOutOfService(outOfService ReadableProperty) MultistateValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_MultistateValueBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithNumberOfStates(numberOfStates ReadableProperty) MultistateValueBuilder { + b.NumberOfStates = numberOfStates + return b +} + +func (b *_MultistateValueBuilder) WithNumberOfStatesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.NumberOfStates.CreateReadablePropertyBuilder()) + var err error + b.NumberOfStates, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithStateText(stateText OptionalProperty) MultistateValueBuilder { + b.StateText = stateText + return b +} + +func (b *_MultistateValueBuilder) WithStateTextBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.StateText.CreateOptionalPropertyBuilder()) + var err error + b.StateText, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithPriorityArray(priorityArray OptionalProperty) MultistateValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_MultistateValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) MultistateValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_MultistateValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithTimeDelay(timeDelay OptionalProperty) MultistateValueBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_MultistateValueBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithNotificationClass(notificationClass OptionalProperty) MultistateValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_MultistateValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithAlarmValues(alarmValues OptionalProperty) MultistateValueBuilder { + b.AlarmValues = alarmValues + return b +} + +func (b *_MultistateValueBuilder) WithAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.AlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithFaultValues(faultValues OptionalProperty) MultistateValueBuilder { + b.FaultValues = faultValues + return b +} + +func (b *_MultistateValueBuilder) WithFaultValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.FaultValues.CreateOptionalPropertyBuilder()) + var err error + b.FaultValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithEventEnable(eventEnable OptionalProperty) MultistateValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_MultistateValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) MultistateValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_MultistateValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithNotifyType(notifyType OptionalProperty) MultistateValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_MultistateValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) MultistateValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_MultistateValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) MultistateValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_MultistateValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) MultistateValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_MultistateValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) MultistateValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_MultistateValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) MultistateValueBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_MultistateValueBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) MultistateValueBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_MultistateValueBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) MultistateValueBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_MultistateValueBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) MultistateValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_MultistateValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithPropertyList(propertyList ReadableProperty) MultistateValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_MultistateValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) MultistateValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_MultistateValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithValueSource(valueSource OptionalProperty) MultistateValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_MultistateValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) MultistateValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_MultistateValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) MultistateValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_MultistateValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) MultistateValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_MultistateValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithTags(tags OptionalProperty) MultistateValueBuilder { + b.Tags = tags + return b +} + +func (b *_MultistateValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithProfileLocation(profileLocation OptionalProperty) MultistateValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_MultistateValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) WithProfileName(profileName OptionalProperty) MultistateValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_MultistateValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) MultistateValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_MultistateValueBuilder) Build() (MultistateValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.NumberOfStates == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'numberOfStates' not set")) + } + if b.StateText == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stateText' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.AlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValues' not set")) + } + if b.FaultValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultValues' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._MultistateValue.deepCopy(), nil +} + +func (b *_MultistateValueBuilder) MustBuild() MultistateValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_MultistateValueBuilder) DeepCopy() any { + _copy := b.CreateMultistateValueBuilder().(*_MultistateValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateMultistateValueBuilder creates a MultistateValueBuilder +func (b *_MultistateValue) CreateMultistateValueBuilder() MultistateValueBuilder { + if b == nil { + return NewMultistateValueBuilder() + } + return &_MultistateValueBuilder{_MultistateValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_MultistateValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_MultistateValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_MultistateValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_MultistateValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_MultistateValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_MultistateValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_MultistateValue) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_MultistateValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_MultistateValue) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_MultistateValue) GetNumberOfStates() ReadableProperty { + return m.NumberOfStates +} + +func (m *_MultistateValue) GetStateText() OptionalProperty { + return m.StateText +} + +func (m *_MultistateValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_MultistateValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_MultistateValue) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_MultistateValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_MultistateValue) GetAlarmValues() OptionalProperty { + return m.AlarmValues +} + +func (m *_MultistateValue) GetFaultValues() OptionalProperty { + return m.FaultValues +} + +func (m *_MultistateValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_MultistateValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_MultistateValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_MultistateValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_MultistateValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_MultistateValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_MultistateValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_MultistateValue) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_MultistateValue) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_MultistateValue) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_MultistateValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_MultistateValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_MultistateValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_MultistateValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_MultistateValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_MultistateValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_MultistateValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_MultistateValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_MultistateValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_MultistateValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastMultistateValue(structType any) MultistateValue { + if casted, ok := structType.(MultistateValue); ok { + return casted + } + if casted, ok := structType.(*MultistateValue); ok { + return *casted + } + return nil +} + +func (m *_MultistateValue) GetTypeName() string { + return "MultistateValue" +} + +func (m *_MultistateValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (numberOfStates) + lengthInBits += m.NumberOfStates.GetLengthInBits(ctx) + + // Simple field (stateText) + lengthInBits += m.StateText.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (alarmValues) + lengthInBits += m.AlarmValues.GetLengthInBits(ctx) + + // Simple field (faultValues) + lengthInBits += m.FaultValues.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_MultistateValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func MultistateValueParse(ctx context.Context, theBytes []byte) (MultistateValue, error) { + return MultistateValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func MultistateValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (MultistateValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (MultistateValue, error) { + return MultistateValueParseWithBuffer(ctx, readBuffer) + } +} + +func MultistateValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (MultistateValue, error) { + v, err := (&_MultistateValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_MultistateValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__multistateValue MultistateValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("MultistateValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for MultistateValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + numberOfStates, err := ReadSimpleField[ReadableProperty](ctx, "numberOfStates", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'numberOfStates' field")) + } + m.NumberOfStates = numberOfStates + + stateText, err := ReadSimpleField[OptionalProperty](ctx, "stateText", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stateText' field")) + } + m.StateText = stateText + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + alarmValues, err := ReadSimpleField[OptionalProperty](ctx, "alarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValues' field")) + } + m.AlarmValues = alarmValues + + faultValues, err := ReadSimpleField[OptionalProperty](ctx, "faultValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultValues' field")) + } + m.FaultValues = faultValues + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("MultistateValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for MultistateValue") + } + + return m, nil +} + +func (m *_MultistateValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_MultistateValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("MultistateValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for MultistateValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "numberOfStates", m.GetNumberOfStates(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'numberOfStates' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "stateText", m.GetStateText(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stateText' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValues", m.GetAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultValues", m.GetFaultValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("MultistateValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for MultistateValue") + } + return nil +} + +func (m *_MultistateValue) IsMultistateValue() {} + +func (m *_MultistateValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_MultistateValue) deepCopy() *_MultistateValue { + if m == nil { + return nil + } + _MultistateValueCopy := &_MultistateValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.NumberOfStates.DeepCopy().(ReadableProperty), + m.StateText.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.AlarmValues.DeepCopy().(OptionalProperty), + m.FaultValues.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _MultistateValueCopy +} + +func (m *_MultistateValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/NetworkPort.go b/plc4go/protocols/bacnetip/readwrite/model/NetworkPort.go new file mode 100644 index 00000000000..daf315d0fbf --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/NetworkPort.go @@ -0,0 +1,3992 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// NetworkPort is the corresponding interface of NetworkPort +type NetworkPort interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetNetworkType returns NetworkType (property field) + GetNetworkType() ReadableProperty + // GetProtocolLevel returns ProtocolLevel (property field) + GetProtocolLevel() ReadableProperty + // GetReferencePort returns ReferencePort (property field) + GetReferencePort() OptionalProperty + // GetNetworkNumber returns NetworkNumber (property field) + GetNetworkNumber() ReadableProperty + // GetNetworkNumberQuality returns NetworkNumberQuality (property field) + GetNetworkNumberQuality() ReadableProperty + // GetChangesPending returns ChangesPending (property field) + GetChangesPending() ReadableProperty + // GetCommand returns Command (property field) + GetCommand() OptionalProperty + // GetMACAddress returns MACAddress (property field) + GetMACAddress() OptionalProperty + // GetAPDULength returns APDULength (property field) + GetAPDULength() ReadableProperty + // GetLinkSpeed returns LinkSpeed (property field) + GetLinkSpeed() ReadableProperty + // GetLinkSpeeds returns LinkSpeeds (property field) + GetLinkSpeeds() OptionalProperty + // GetLinkSpeedAutonegotiate returns LinkSpeedAutonegotiate (property field) + GetLinkSpeedAutonegotiate() OptionalProperty + // GetNetworkInterfaceName returns NetworkInterfaceName (property field) + GetNetworkInterfaceName() OptionalProperty + // GetBACnetIPMode returns BACnetIPMode (property field) + GetBACnetIPMode() OptionalProperty + // GetIPAddress returns IPAddress (property field) + GetIPAddress() OptionalProperty + // GetBACnetIPUDPPort returns BACnetIPUDPPort (property field) + GetBACnetIPUDPPort() OptionalProperty + // GetIPSubnetMask returns IPSubnetMask (property field) + GetIPSubnetMask() OptionalProperty + // GetIPDefaultGateway returns IPDefaultGateway (property field) + GetIPDefaultGateway() OptionalProperty + // GetBACnetIPMulticastAddress returns BACnetIPMulticastAddress (property field) + GetBACnetIPMulticastAddress() OptionalProperty + // GetIPDNSServer returns IPDNSServer (property field) + GetIPDNSServer() OptionalProperty + // GetIPDHCPEnable returns IPDHCPEnable (property field) + GetIPDHCPEnable() OptionalProperty + // GetIPDHCPLeaseTime returns IPDHCPLeaseTime (property field) + GetIPDHCPLeaseTime() OptionalProperty + // GetIPDHCPLeaseTimeRemaining returns IPDHCPLeaseTimeRemaining (property field) + GetIPDHCPLeaseTimeRemaining() OptionalProperty + // GetIPDHCPServer returns IPDHCPServer (property field) + GetIPDHCPServer() OptionalProperty + // GetBACnetIPNATTraversal returns BACnetIPNATTraversal (property field) + GetBACnetIPNATTraversal() OptionalProperty + // GetBACnetIPGlobalAddress returns BACnetIPGlobalAddress (property field) + GetBACnetIPGlobalAddress() OptionalProperty + // GetBBMDBroadcastDistributionTable returns BBMDBroadcastDistributionTable (property field) + GetBBMDBroadcastDistributionTable() OptionalProperty + // GetBBMDAcceptFDRegistrations returns BBMDAcceptFDRegistrations (property field) + GetBBMDAcceptFDRegistrations() OptionalProperty + // GetBBMDForeignDeviceTable returns BBMDForeignDeviceTable (property field) + GetBBMDForeignDeviceTable() OptionalProperty + // GetFDBBMDAddress returns FDBBMDAddress (property field) + GetFDBBMDAddress() OptionalProperty + // GetFDSubscriptionLifetime returns FDSubscriptionLifetime (property field) + GetFDSubscriptionLifetime() OptionalProperty + // GetBACnetIPv6Mode returns BACnetIPv6Mode (property field) + GetBACnetIPv6Mode() OptionalProperty + // GetIPv6Address returns IPv6Address (property field) + GetIPv6Address() OptionalProperty + // GetIPv6PrefixLength returns IPv6PrefixLength (property field) + GetIPv6PrefixLength() OptionalProperty + // GetBACnetIPv6UDPPort returns BACnetIPv6UDPPort (property field) + GetBACnetIPv6UDPPort() OptionalProperty + // GetIPv6DefaultGateway returns IPv6DefaultGateway (property field) + GetIPv6DefaultGateway() OptionalProperty + // GetBACnetIPv6MulticastAddress returns BACnetIPv6MulticastAddress (property field) + GetBACnetIPv6MulticastAddress() OptionalProperty + // GetIPv6DNSServer returns IPv6DNSServer (property field) + GetIPv6DNSServer() OptionalProperty + // GetIPv6AutoAddressingEnable returns IPv6AutoAddressingEnable (property field) + GetIPv6AutoAddressingEnable() OptionalProperty + // GetIPv6DHCPLeaseTime returns IPv6DHCPLeaseTime (property field) + GetIPv6DHCPLeaseTime() OptionalProperty + // GetIPv6DHCPLeaseTimeRemaining returns IPv6DHCPLeaseTimeRemaining (property field) + GetIPv6DHCPLeaseTimeRemaining() OptionalProperty + // GetIPv6DHCPServer returns IPv6DHCPServer (property field) + GetIPv6DHCPServer() OptionalProperty + // GetIPv6ZoneIndex returns IPv6ZoneIndex (property field) + GetIPv6ZoneIndex() OptionalProperty + // GetMaxMaster returns MaxMaster (property field) + GetMaxMaster() OptionalProperty + // GetMaxInfoFrames returns MaxInfoFrames (property field) + GetMaxInfoFrames() OptionalProperty + // GetSlaveProxyEnable returns SlaveProxyEnable (property field) + GetSlaveProxyEnable() OptionalProperty + // GetManualSlaveAddressBinding returns ManualSlaveAddressBinding (property field) + GetManualSlaveAddressBinding() OptionalProperty + // GetAutoSlaveDiscovery returns AutoSlaveDiscovery (property field) + GetAutoSlaveDiscovery() OptionalProperty + // GetSlaveAddressBinding returns SlaveAddressBinding (property field) + GetSlaveAddressBinding() OptionalProperty + // GetVirtualMACAddressTable returns VirtualMACAddressTable (property field) + GetVirtualMACAddressTable() OptionalProperty + // GetRoutingTable returns RoutingTable (property field) + GetRoutingTable() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsNetworkPort is a marker method to prevent unintentional type checks (interfaces of same signature) + IsNetworkPort() + // CreateBuilder creates a NetworkPortBuilder + CreateNetworkPortBuilder() NetworkPortBuilder +} + +// _NetworkPort is the data-structure of this message +type _NetworkPort struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + Reliability ReadableProperty + OutOfService ReadableProperty + NetworkType ReadableProperty + ProtocolLevel ReadableProperty + ReferencePort OptionalProperty + NetworkNumber ReadableProperty + NetworkNumberQuality ReadableProperty + ChangesPending ReadableProperty + Command OptionalProperty + MACAddress OptionalProperty + APDULength ReadableProperty + LinkSpeed ReadableProperty + LinkSpeeds OptionalProperty + LinkSpeedAutonegotiate OptionalProperty + NetworkInterfaceName OptionalProperty + BACnetIPMode OptionalProperty + IPAddress OptionalProperty + BACnetIPUDPPort OptionalProperty + IPSubnetMask OptionalProperty + IPDefaultGateway OptionalProperty + BACnetIPMulticastAddress OptionalProperty + IPDNSServer OptionalProperty + IPDHCPEnable OptionalProperty + IPDHCPLeaseTime OptionalProperty + IPDHCPLeaseTimeRemaining OptionalProperty + IPDHCPServer OptionalProperty + BACnetIPNATTraversal OptionalProperty + BACnetIPGlobalAddress OptionalProperty + BBMDBroadcastDistributionTable OptionalProperty + BBMDAcceptFDRegistrations OptionalProperty + BBMDForeignDeviceTable OptionalProperty + FDBBMDAddress OptionalProperty + FDSubscriptionLifetime OptionalProperty + BACnetIPv6Mode OptionalProperty + IPv6Address OptionalProperty + IPv6PrefixLength OptionalProperty + BACnetIPv6UDPPort OptionalProperty + IPv6DefaultGateway OptionalProperty + BACnetIPv6MulticastAddress OptionalProperty + IPv6DNSServer OptionalProperty + IPv6AutoAddressingEnable OptionalProperty + IPv6DHCPLeaseTime OptionalProperty + IPv6DHCPLeaseTimeRemaining OptionalProperty + IPv6DHCPServer OptionalProperty + IPv6ZoneIndex OptionalProperty + MaxMaster OptionalProperty + MaxInfoFrames OptionalProperty + SlaveProxyEnable OptionalProperty + ManualSlaveAddressBinding OptionalProperty + AutoSlaveDiscovery OptionalProperty + SlaveAddressBinding OptionalProperty + VirtualMACAddressTable OptionalProperty + RoutingTable OptionalProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventState OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ NetworkPort = (*_NetworkPort)(nil) + +// NewNetworkPort factory function for _NetworkPort +func NewNetworkPort(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, networkType ReadableProperty, protocolLevel ReadableProperty, referencePort OptionalProperty, networkNumber ReadableProperty, networkNumberQuality ReadableProperty, changesPending ReadableProperty, command OptionalProperty, mACAddress OptionalProperty, aPDULength ReadableProperty, linkSpeed ReadableProperty, linkSpeeds OptionalProperty, linkSpeedAutonegotiate OptionalProperty, networkInterfaceName OptionalProperty, bACnetIPMode OptionalProperty, iPAddress OptionalProperty, bACnetIPUDPPort OptionalProperty, iPSubnetMask OptionalProperty, iPDefaultGateway OptionalProperty, bACnetIPMulticastAddress OptionalProperty, iPDNSServer OptionalProperty, iPDHCPEnable OptionalProperty, iPDHCPLeaseTime OptionalProperty, iPDHCPLeaseTimeRemaining OptionalProperty, iPDHCPServer OptionalProperty, bACnetIPNATTraversal OptionalProperty, bACnetIPGlobalAddress OptionalProperty, bBMDBroadcastDistributionTable OptionalProperty, bBMDAcceptFDRegistrations OptionalProperty, bBMDForeignDeviceTable OptionalProperty, fDBBMDAddress OptionalProperty, fDSubscriptionLifetime OptionalProperty, bACnetIPv6Mode OptionalProperty, iPv6Address OptionalProperty, iPv6PrefixLength OptionalProperty, bACnetIPv6UDPPort OptionalProperty, iPv6DefaultGateway OptionalProperty, bACnetIPv6MulticastAddress OptionalProperty, iPv6DNSServer OptionalProperty, iPv6AutoAddressingEnable OptionalProperty, iPv6DHCPLeaseTime OptionalProperty, iPv6DHCPLeaseTimeRemaining OptionalProperty, iPv6DHCPServer OptionalProperty, iPv6ZoneIndex OptionalProperty, maxMaster OptionalProperty, maxInfoFrames OptionalProperty, slaveProxyEnable OptionalProperty, manualSlaveAddressBinding OptionalProperty, autoSlaveDiscovery OptionalProperty, slaveAddressBinding OptionalProperty, virtualMACAddressTable OptionalProperty, routingTable OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventState OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_NetworkPort { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for NetworkPort must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for NetworkPort must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for NetworkPort must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for NetworkPort must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for NetworkPort must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for NetworkPort must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for NetworkPort must not be nil") + } + if networkType == nil { + panic("networkType of type ReadableProperty for NetworkPort must not be nil") + } + if protocolLevel == nil { + panic("protocolLevel of type ReadableProperty for NetworkPort must not be nil") + } + if referencePort == nil { + panic("referencePort of type OptionalProperty for NetworkPort must not be nil") + } + if networkNumber == nil { + panic("networkNumber of type ReadableProperty for NetworkPort must not be nil") + } + if networkNumberQuality == nil { + panic("networkNumberQuality of type ReadableProperty for NetworkPort must not be nil") + } + if changesPending == nil { + panic("changesPending of type ReadableProperty for NetworkPort must not be nil") + } + if command == nil { + panic("command of type OptionalProperty for NetworkPort must not be nil") + } + if mACAddress == nil { + panic("mACAddress of type OptionalProperty for NetworkPort must not be nil") + } + if aPDULength == nil { + panic("aPDULength of type ReadableProperty for NetworkPort must not be nil") + } + if linkSpeed == nil { + panic("linkSpeed of type ReadableProperty for NetworkPort must not be nil") + } + if linkSpeeds == nil { + panic("linkSpeeds of type OptionalProperty for NetworkPort must not be nil") + } + if linkSpeedAutonegotiate == nil { + panic("linkSpeedAutonegotiate of type OptionalProperty for NetworkPort must not be nil") + } + if networkInterfaceName == nil { + panic("networkInterfaceName of type OptionalProperty for NetworkPort must not be nil") + } + if bACnetIPMode == nil { + panic("bACnetIPMode of type OptionalProperty for NetworkPort must not be nil") + } + if iPAddress == nil { + panic("iPAddress of type OptionalProperty for NetworkPort must not be nil") + } + if bACnetIPUDPPort == nil { + panic("bACnetIPUDPPort of type OptionalProperty for NetworkPort must not be nil") + } + if iPSubnetMask == nil { + panic("iPSubnetMask of type OptionalProperty for NetworkPort must not be nil") + } + if iPDefaultGateway == nil { + panic("iPDefaultGateway of type OptionalProperty for NetworkPort must not be nil") + } + if bACnetIPMulticastAddress == nil { + panic("bACnetIPMulticastAddress of type OptionalProperty for NetworkPort must not be nil") + } + if iPDNSServer == nil { + panic("iPDNSServer of type OptionalProperty for NetworkPort must not be nil") + } + if iPDHCPEnable == nil { + panic("iPDHCPEnable of type OptionalProperty for NetworkPort must not be nil") + } + if iPDHCPLeaseTime == nil { + panic("iPDHCPLeaseTime of type OptionalProperty for NetworkPort must not be nil") + } + if iPDHCPLeaseTimeRemaining == nil { + panic("iPDHCPLeaseTimeRemaining of type OptionalProperty for NetworkPort must not be nil") + } + if iPDHCPServer == nil { + panic("iPDHCPServer of type OptionalProperty for NetworkPort must not be nil") + } + if bACnetIPNATTraversal == nil { + panic("bACnetIPNATTraversal of type OptionalProperty for NetworkPort must not be nil") + } + if bACnetIPGlobalAddress == nil { + panic("bACnetIPGlobalAddress of type OptionalProperty for NetworkPort must not be nil") + } + if bBMDBroadcastDistributionTable == nil { + panic("bBMDBroadcastDistributionTable of type OptionalProperty for NetworkPort must not be nil") + } + if bBMDAcceptFDRegistrations == nil { + panic("bBMDAcceptFDRegistrations of type OptionalProperty for NetworkPort must not be nil") + } + if bBMDForeignDeviceTable == nil { + panic("bBMDForeignDeviceTable of type OptionalProperty for NetworkPort must not be nil") + } + if fDBBMDAddress == nil { + panic("fDBBMDAddress of type OptionalProperty for NetworkPort must not be nil") + } + if fDSubscriptionLifetime == nil { + panic("fDSubscriptionLifetime of type OptionalProperty for NetworkPort must not be nil") + } + if bACnetIPv6Mode == nil { + panic("bACnetIPv6Mode of type OptionalProperty for NetworkPort must not be nil") + } + if iPv6Address == nil { + panic("iPv6Address of type OptionalProperty for NetworkPort must not be nil") + } + if iPv6PrefixLength == nil { + panic("iPv6PrefixLength of type OptionalProperty for NetworkPort must not be nil") + } + if bACnetIPv6UDPPort == nil { + panic("bACnetIPv6UDPPort of type OptionalProperty for NetworkPort must not be nil") + } + if iPv6DefaultGateway == nil { + panic("iPv6DefaultGateway of type OptionalProperty for NetworkPort must not be nil") + } + if bACnetIPv6MulticastAddress == nil { + panic("bACnetIPv6MulticastAddress of type OptionalProperty for NetworkPort must not be nil") + } + if iPv6DNSServer == nil { + panic("iPv6DNSServer of type OptionalProperty for NetworkPort must not be nil") + } + if iPv6AutoAddressingEnable == nil { + panic("iPv6AutoAddressingEnable of type OptionalProperty for NetworkPort must not be nil") + } + if iPv6DHCPLeaseTime == nil { + panic("iPv6DHCPLeaseTime of type OptionalProperty for NetworkPort must not be nil") + } + if iPv6DHCPLeaseTimeRemaining == nil { + panic("iPv6DHCPLeaseTimeRemaining of type OptionalProperty for NetworkPort must not be nil") + } + if iPv6DHCPServer == nil { + panic("iPv6DHCPServer of type OptionalProperty for NetworkPort must not be nil") + } + if iPv6ZoneIndex == nil { + panic("iPv6ZoneIndex of type OptionalProperty for NetworkPort must not be nil") + } + if maxMaster == nil { + panic("maxMaster of type OptionalProperty for NetworkPort must not be nil") + } + if maxInfoFrames == nil { + panic("maxInfoFrames of type OptionalProperty for NetworkPort must not be nil") + } + if slaveProxyEnable == nil { + panic("slaveProxyEnable of type OptionalProperty for NetworkPort must not be nil") + } + if manualSlaveAddressBinding == nil { + panic("manualSlaveAddressBinding of type OptionalProperty for NetworkPort must not be nil") + } + if autoSlaveDiscovery == nil { + panic("autoSlaveDiscovery of type OptionalProperty for NetworkPort must not be nil") + } + if slaveAddressBinding == nil { + panic("slaveAddressBinding of type OptionalProperty for NetworkPort must not be nil") + } + if virtualMACAddressTable == nil { + panic("virtualMACAddressTable of type OptionalProperty for NetworkPort must not be nil") + } + if routingTable == nil { + panic("routingTable of type OptionalProperty for NetworkPort must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for NetworkPort must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for NetworkPort must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for NetworkPort must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for NetworkPort must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for NetworkPort must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for NetworkPort must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for NetworkPort must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for NetworkPort must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for NetworkPort must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for NetworkPort must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for NetworkPort must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for NetworkPort must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for NetworkPort must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for NetworkPort must not be nil") + } + return &_NetworkPort{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, StatusFlags: statusFlags, Reliability: reliability, OutOfService: outOfService, NetworkType: networkType, ProtocolLevel: protocolLevel, ReferencePort: referencePort, NetworkNumber: networkNumber, NetworkNumberQuality: networkNumberQuality, ChangesPending: changesPending, Command: command, MACAddress: mACAddress, APDULength: aPDULength, LinkSpeed: linkSpeed, LinkSpeeds: linkSpeeds, LinkSpeedAutonegotiate: linkSpeedAutonegotiate, NetworkInterfaceName: networkInterfaceName, BACnetIPMode: bACnetIPMode, IPAddress: iPAddress, BACnetIPUDPPort: bACnetIPUDPPort, IPSubnetMask: iPSubnetMask, IPDefaultGateway: iPDefaultGateway, BACnetIPMulticastAddress: bACnetIPMulticastAddress, IPDNSServer: iPDNSServer, IPDHCPEnable: iPDHCPEnable, IPDHCPLeaseTime: iPDHCPLeaseTime, IPDHCPLeaseTimeRemaining: iPDHCPLeaseTimeRemaining, IPDHCPServer: iPDHCPServer, BACnetIPNATTraversal: bACnetIPNATTraversal, BACnetIPGlobalAddress: bACnetIPGlobalAddress, BBMDBroadcastDistributionTable: bBMDBroadcastDistributionTable, BBMDAcceptFDRegistrations: bBMDAcceptFDRegistrations, BBMDForeignDeviceTable: bBMDForeignDeviceTable, FDBBMDAddress: fDBBMDAddress, FDSubscriptionLifetime: fDSubscriptionLifetime, BACnetIPv6Mode: bACnetIPv6Mode, IPv6Address: iPv6Address, IPv6PrefixLength: iPv6PrefixLength, BACnetIPv6UDPPort: bACnetIPv6UDPPort, IPv6DefaultGateway: iPv6DefaultGateway, BACnetIPv6MulticastAddress: bACnetIPv6MulticastAddress, IPv6DNSServer: iPv6DNSServer, IPv6AutoAddressingEnable: iPv6AutoAddressingEnable, IPv6DHCPLeaseTime: iPv6DHCPLeaseTime, IPv6DHCPLeaseTimeRemaining: iPv6DHCPLeaseTimeRemaining, IPv6DHCPServer: iPv6DHCPServer, IPv6ZoneIndex: iPv6ZoneIndex, MaxMaster: maxMaster, MaxInfoFrames: maxInfoFrames, SlaveProxyEnable: slaveProxyEnable, ManualSlaveAddressBinding: manualSlaveAddressBinding, AutoSlaveDiscovery: autoSlaveDiscovery, SlaveAddressBinding: slaveAddressBinding, VirtualMACAddressTable: virtualMACAddressTable, RoutingTable: routingTable, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventState: eventState, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// NetworkPortBuilder is a builder for NetworkPort +type NetworkPortBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, networkType ReadableProperty, protocolLevel ReadableProperty, referencePort OptionalProperty, networkNumber ReadableProperty, networkNumberQuality ReadableProperty, changesPending ReadableProperty, command OptionalProperty, mACAddress OptionalProperty, aPDULength ReadableProperty, linkSpeed ReadableProperty, linkSpeeds OptionalProperty, linkSpeedAutonegotiate OptionalProperty, networkInterfaceName OptionalProperty, bACnetIPMode OptionalProperty, iPAddress OptionalProperty, bACnetIPUDPPort OptionalProperty, iPSubnetMask OptionalProperty, iPDefaultGateway OptionalProperty, bACnetIPMulticastAddress OptionalProperty, iPDNSServer OptionalProperty, iPDHCPEnable OptionalProperty, iPDHCPLeaseTime OptionalProperty, iPDHCPLeaseTimeRemaining OptionalProperty, iPDHCPServer OptionalProperty, bACnetIPNATTraversal OptionalProperty, bACnetIPGlobalAddress OptionalProperty, bBMDBroadcastDistributionTable OptionalProperty, bBMDAcceptFDRegistrations OptionalProperty, bBMDForeignDeviceTable OptionalProperty, fDBBMDAddress OptionalProperty, fDSubscriptionLifetime OptionalProperty, bACnetIPv6Mode OptionalProperty, iPv6Address OptionalProperty, iPv6PrefixLength OptionalProperty, bACnetIPv6UDPPort OptionalProperty, iPv6DefaultGateway OptionalProperty, bACnetIPv6MulticastAddress OptionalProperty, iPv6DNSServer OptionalProperty, iPv6AutoAddressingEnable OptionalProperty, iPv6DHCPLeaseTime OptionalProperty, iPv6DHCPLeaseTimeRemaining OptionalProperty, iPv6DHCPServer OptionalProperty, iPv6ZoneIndex OptionalProperty, maxMaster OptionalProperty, maxInfoFrames OptionalProperty, slaveProxyEnable OptionalProperty, manualSlaveAddressBinding OptionalProperty, autoSlaveDiscovery OptionalProperty, slaveAddressBinding OptionalProperty, virtualMACAddressTable OptionalProperty, routingTable OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventState OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) NetworkPortBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) NetworkPortBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) NetworkPortBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) NetworkPortBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) NetworkPortBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) NetworkPortBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) NetworkPortBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) NetworkPortBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithNetworkType adds NetworkType (property field) + WithNetworkType(ReadableProperty) NetworkPortBuilder + // WithNetworkTypeBuilder adds NetworkType (property field) which is build by the builder + WithNetworkTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithProtocolLevel adds ProtocolLevel (property field) + WithProtocolLevel(ReadableProperty) NetworkPortBuilder + // WithProtocolLevelBuilder adds ProtocolLevel (property field) which is build by the builder + WithProtocolLevelBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithReferencePort adds ReferencePort (property field) + WithReferencePort(OptionalProperty) NetworkPortBuilder + // WithReferencePortBuilder adds ReferencePort (property field) which is build by the builder + WithReferencePortBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithNetworkNumber adds NetworkNumber (property field) + WithNetworkNumber(ReadableProperty) NetworkPortBuilder + // WithNetworkNumberBuilder adds NetworkNumber (property field) which is build by the builder + WithNetworkNumberBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithNetworkNumberQuality adds NetworkNumberQuality (property field) + WithNetworkNumberQuality(ReadableProperty) NetworkPortBuilder + // WithNetworkNumberQualityBuilder adds NetworkNumberQuality (property field) which is build by the builder + WithNetworkNumberQualityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithChangesPending adds ChangesPending (property field) + WithChangesPending(ReadableProperty) NetworkPortBuilder + // WithChangesPendingBuilder adds ChangesPending (property field) which is build by the builder + WithChangesPendingBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithCommand adds Command (property field) + WithCommand(OptionalProperty) NetworkPortBuilder + // WithCommandBuilder adds Command (property field) which is build by the builder + WithCommandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithMACAddress adds MACAddress (property field) + WithMACAddress(OptionalProperty) NetworkPortBuilder + // WithMACAddressBuilder adds MACAddress (property field) which is build by the builder + WithMACAddressBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithAPDULength adds APDULength (property field) + WithAPDULength(ReadableProperty) NetworkPortBuilder + // WithAPDULengthBuilder adds APDULength (property field) which is build by the builder + WithAPDULengthBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithLinkSpeed adds LinkSpeed (property field) + WithLinkSpeed(ReadableProperty) NetworkPortBuilder + // WithLinkSpeedBuilder adds LinkSpeed (property field) which is build by the builder + WithLinkSpeedBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithLinkSpeeds adds LinkSpeeds (property field) + WithLinkSpeeds(OptionalProperty) NetworkPortBuilder + // WithLinkSpeedsBuilder adds LinkSpeeds (property field) which is build by the builder + WithLinkSpeedsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithLinkSpeedAutonegotiate adds LinkSpeedAutonegotiate (property field) + WithLinkSpeedAutonegotiate(OptionalProperty) NetworkPortBuilder + // WithLinkSpeedAutonegotiateBuilder adds LinkSpeedAutonegotiate (property field) which is build by the builder + WithLinkSpeedAutonegotiateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithNetworkInterfaceName adds NetworkInterfaceName (property field) + WithNetworkInterfaceName(OptionalProperty) NetworkPortBuilder + // WithNetworkInterfaceNameBuilder adds NetworkInterfaceName (property field) which is build by the builder + WithNetworkInterfaceNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBACnetIPMode adds BACnetIPMode (property field) + WithBACnetIPMode(OptionalProperty) NetworkPortBuilder + // WithBACnetIPModeBuilder adds BACnetIPMode (property field) which is build by the builder + WithBACnetIPModeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPAddress adds IPAddress (property field) + WithIPAddress(OptionalProperty) NetworkPortBuilder + // WithIPAddressBuilder adds IPAddress (property field) which is build by the builder + WithIPAddressBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBACnetIPUDPPort adds BACnetIPUDPPort (property field) + WithBACnetIPUDPPort(OptionalProperty) NetworkPortBuilder + // WithBACnetIPUDPPortBuilder adds BACnetIPUDPPort (property field) which is build by the builder + WithBACnetIPUDPPortBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPSubnetMask adds IPSubnetMask (property field) + WithIPSubnetMask(OptionalProperty) NetworkPortBuilder + // WithIPSubnetMaskBuilder adds IPSubnetMask (property field) which is build by the builder + WithIPSubnetMaskBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPDefaultGateway adds IPDefaultGateway (property field) + WithIPDefaultGateway(OptionalProperty) NetworkPortBuilder + // WithIPDefaultGatewayBuilder adds IPDefaultGateway (property field) which is build by the builder + WithIPDefaultGatewayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBACnetIPMulticastAddress adds BACnetIPMulticastAddress (property field) + WithBACnetIPMulticastAddress(OptionalProperty) NetworkPortBuilder + // WithBACnetIPMulticastAddressBuilder adds BACnetIPMulticastAddress (property field) which is build by the builder + WithBACnetIPMulticastAddressBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPDNSServer adds IPDNSServer (property field) + WithIPDNSServer(OptionalProperty) NetworkPortBuilder + // WithIPDNSServerBuilder adds IPDNSServer (property field) which is build by the builder + WithIPDNSServerBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPDHCPEnable adds IPDHCPEnable (property field) + WithIPDHCPEnable(OptionalProperty) NetworkPortBuilder + // WithIPDHCPEnableBuilder adds IPDHCPEnable (property field) which is build by the builder + WithIPDHCPEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPDHCPLeaseTime adds IPDHCPLeaseTime (property field) + WithIPDHCPLeaseTime(OptionalProperty) NetworkPortBuilder + // WithIPDHCPLeaseTimeBuilder adds IPDHCPLeaseTime (property field) which is build by the builder + WithIPDHCPLeaseTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPDHCPLeaseTimeRemaining adds IPDHCPLeaseTimeRemaining (property field) + WithIPDHCPLeaseTimeRemaining(OptionalProperty) NetworkPortBuilder + // WithIPDHCPLeaseTimeRemainingBuilder adds IPDHCPLeaseTimeRemaining (property field) which is build by the builder + WithIPDHCPLeaseTimeRemainingBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPDHCPServer adds IPDHCPServer (property field) + WithIPDHCPServer(OptionalProperty) NetworkPortBuilder + // WithIPDHCPServerBuilder adds IPDHCPServer (property field) which is build by the builder + WithIPDHCPServerBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBACnetIPNATTraversal adds BACnetIPNATTraversal (property field) + WithBACnetIPNATTraversal(OptionalProperty) NetworkPortBuilder + // WithBACnetIPNATTraversalBuilder adds BACnetIPNATTraversal (property field) which is build by the builder + WithBACnetIPNATTraversalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBACnetIPGlobalAddress adds BACnetIPGlobalAddress (property field) + WithBACnetIPGlobalAddress(OptionalProperty) NetworkPortBuilder + // WithBACnetIPGlobalAddressBuilder adds BACnetIPGlobalAddress (property field) which is build by the builder + WithBACnetIPGlobalAddressBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBBMDBroadcastDistributionTable adds BBMDBroadcastDistributionTable (property field) + WithBBMDBroadcastDistributionTable(OptionalProperty) NetworkPortBuilder + // WithBBMDBroadcastDistributionTableBuilder adds BBMDBroadcastDistributionTable (property field) which is build by the builder + WithBBMDBroadcastDistributionTableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBBMDAcceptFDRegistrations adds BBMDAcceptFDRegistrations (property field) + WithBBMDAcceptFDRegistrations(OptionalProperty) NetworkPortBuilder + // WithBBMDAcceptFDRegistrationsBuilder adds BBMDAcceptFDRegistrations (property field) which is build by the builder + WithBBMDAcceptFDRegistrationsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBBMDForeignDeviceTable adds BBMDForeignDeviceTable (property field) + WithBBMDForeignDeviceTable(OptionalProperty) NetworkPortBuilder + // WithBBMDForeignDeviceTableBuilder adds BBMDForeignDeviceTable (property field) which is build by the builder + WithBBMDForeignDeviceTableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithFDBBMDAddress adds FDBBMDAddress (property field) + WithFDBBMDAddress(OptionalProperty) NetworkPortBuilder + // WithFDBBMDAddressBuilder adds FDBBMDAddress (property field) which is build by the builder + WithFDBBMDAddressBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithFDSubscriptionLifetime adds FDSubscriptionLifetime (property field) + WithFDSubscriptionLifetime(OptionalProperty) NetworkPortBuilder + // WithFDSubscriptionLifetimeBuilder adds FDSubscriptionLifetime (property field) which is build by the builder + WithFDSubscriptionLifetimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBACnetIPv6Mode adds BACnetIPv6Mode (property field) + WithBACnetIPv6Mode(OptionalProperty) NetworkPortBuilder + // WithBACnetIPv6ModeBuilder adds BACnetIPv6Mode (property field) which is build by the builder + WithBACnetIPv6ModeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPv6Address adds IPv6Address (property field) + WithIPv6Address(OptionalProperty) NetworkPortBuilder + // WithIPv6AddressBuilder adds IPv6Address (property field) which is build by the builder + WithIPv6AddressBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPv6PrefixLength adds IPv6PrefixLength (property field) + WithIPv6PrefixLength(OptionalProperty) NetworkPortBuilder + // WithIPv6PrefixLengthBuilder adds IPv6PrefixLength (property field) which is build by the builder + WithIPv6PrefixLengthBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBACnetIPv6UDPPort adds BACnetIPv6UDPPort (property field) + WithBACnetIPv6UDPPort(OptionalProperty) NetworkPortBuilder + // WithBACnetIPv6UDPPortBuilder adds BACnetIPv6UDPPort (property field) which is build by the builder + WithBACnetIPv6UDPPortBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPv6DefaultGateway adds IPv6DefaultGateway (property field) + WithIPv6DefaultGateway(OptionalProperty) NetworkPortBuilder + // WithIPv6DefaultGatewayBuilder adds IPv6DefaultGateway (property field) which is build by the builder + WithIPv6DefaultGatewayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithBACnetIPv6MulticastAddress adds BACnetIPv6MulticastAddress (property field) + WithBACnetIPv6MulticastAddress(OptionalProperty) NetworkPortBuilder + // WithBACnetIPv6MulticastAddressBuilder adds BACnetIPv6MulticastAddress (property field) which is build by the builder + WithBACnetIPv6MulticastAddressBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPv6DNSServer adds IPv6DNSServer (property field) + WithIPv6DNSServer(OptionalProperty) NetworkPortBuilder + // WithIPv6DNSServerBuilder adds IPv6DNSServer (property field) which is build by the builder + WithIPv6DNSServerBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPv6AutoAddressingEnable adds IPv6AutoAddressingEnable (property field) + WithIPv6AutoAddressingEnable(OptionalProperty) NetworkPortBuilder + // WithIPv6AutoAddressingEnableBuilder adds IPv6AutoAddressingEnable (property field) which is build by the builder + WithIPv6AutoAddressingEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPv6DHCPLeaseTime adds IPv6DHCPLeaseTime (property field) + WithIPv6DHCPLeaseTime(OptionalProperty) NetworkPortBuilder + // WithIPv6DHCPLeaseTimeBuilder adds IPv6DHCPLeaseTime (property field) which is build by the builder + WithIPv6DHCPLeaseTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPv6DHCPLeaseTimeRemaining adds IPv6DHCPLeaseTimeRemaining (property field) + WithIPv6DHCPLeaseTimeRemaining(OptionalProperty) NetworkPortBuilder + // WithIPv6DHCPLeaseTimeRemainingBuilder adds IPv6DHCPLeaseTimeRemaining (property field) which is build by the builder + WithIPv6DHCPLeaseTimeRemainingBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPv6DHCPServer adds IPv6DHCPServer (property field) + WithIPv6DHCPServer(OptionalProperty) NetworkPortBuilder + // WithIPv6DHCPServerBuilder adds IPv6DHCPServer (property field) which is build by the builder + WithIPv6DHCPServerBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithIPv6ZoneIndex adds IPv6ZoneIndex (property field) + WithIPv6ZoneIndex(OptionalProperty) NetworkPortBuilder + // WithIPv6ZoneIndexBuilder adds IPv6ZoneIndex (property field) which is build by the builder + WithIPv6ZoneIndexBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithMaxMaster adds MaxMaster (property field) + WithMaxMaster(OptionalProperty) NetworkPortBuilder + // WithMaxMasterBuilder adds MaxMaster (property field) which is build by the builder + WithMaxMasterBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithMaxInfoFrames adds MaxInfoFrames (property field) + WithMaxInfoFrames(OptionalProperty) NetworkPortBuilder + // WithMaxInfoFramesBuilder adds MaxInfoFrames (property field) which is build by the builder + WithMaxInfoFramesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithSlaveProxyEnable adds SlaveProxyEnable (property field) + WithSlaveProxyEnable(OptionalProperty) NetworkPortBuilder + // WithSlaveProxyEnableBuilder adds SlaveProxyEnable (property field) which is build by the builder + WithSlaveProxyEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithManualSlaveAddressBinding adds ManualSlaveAddressBinding (property field) + WithManualSlaveAddressBinding(OptionalProperty) NetworkPortBuilder + // WithManualSlaveAddressBindingBuilder adds ManualSlaveAddressBinding (property field) which is build by the builder + WithManualSlaveAddressBindingBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithAutoSlaveDiscovery adds AutoSlaveDiscovery (property field) + WithAutoSlaveDiscovery(OptionalProperty) NetworkPortBuilder + // WithAutoSlaveDiscoveryBuilder adds AutoSlaveDiscovery (property field) which is build by the builder + WithAutoSlaveDiscoveryBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithSlaveAddressBinding adds SlaveAddressBinding (property field) + WithSlaveAddressBinding(OptionalProperty) NetworkPortBuilder + // WithSlaveAddressBindingBuilder adds SlaveAddressBinding (property field) which is build by the builder + WithSlaveAddressBindingBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithVirtualMACAddressTable adds VirtualMACAddressTable (property field) + WithVirtualMACAddressTable(OptionalProperty) NetworkPortBuilder + // WithVirtualMACAddressTableBuilder adds VirtualMACAddressTable (property field) which is build by the builder + WithVirtualMACAddressTableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithRoutingTable adds RoutingTable (property field) + WithRoutingTable(OptionalProperty) NetworkPortBuilder + // WithRoutingTableBuilder adds RoutingTable (property field) which is build by the builder + WithRoutingTableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) NetworkPortBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) NetworkPortBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) NetworkPortBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) NetworkPortBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) NetworkPortBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) NetworkPortBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) NetworkPortBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) NetworkPortBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) NetworkPortBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) NetworkPortBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) NetworkPortBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) NetworkPortBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) NetworkPortBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) NetworkPortBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder + // Build builds the NetworkPort or returns an error if something is wrong + Build() (NetworkPort, error) + // MustBuild does the same as Build but panics on error + MustBuild() NetworkPort +} + +// NewNetworkPortBuilder() creates a NetworkPortBuilder +func NewNetworkPortBuilder() NetworkPortBuilder { + return &_NetworkPortBuilder{_NetworkPort: new(_NetworkPort)} +} + +type _NetworkPortBuilder struct { + *_NetworkPort + + err *utils.MultiError +} + +var _ (NetworkPortBuilder) = (*_NetworkPortBuilder)(nil) + +func (b *_NetworkPortBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, networkType ReadableProperty, protocolLevel ReadableProperty, referencePort OptionalProperty, networkNumber ReadableProperty, networkNumberQuality ReadableProperty, changesPending ReadableProperty, command OptionalProperty, mACAddress OptionalProperty, aPDULength ReadableProperty, linkSpeed ReadableProperty, linkSpeeds OptionalProperty, linkSpeedAutonegotiate OptionalProperty, networkInterfaceName OptionalProperty, bACnetIPMode OptionalProperty, iPAddress OptionalProperty, bACnetIPUDPPort OptionalProperty, iPSubnetMask OptionalProperty, iPDefaultGateway OptionalProperty, bACnetIPMulticastAddress OptionalProperty, iPDNSServer OptionalProperty, iPDHCPEnable OptionalProperty, iPDHCPLeaseTime OptionalProperty, iPDHCPLeaseTimeRemaining OptionalProperty, iPDHCPServer OptionalProperty, bACnetIPNATTraversal OptionalProperty, bACnetIPGlobalAddress OptionalProperty, bBMDBroadcastDistributionTable OptionalProperty, bBMDAcceptFDRegistrations OptionalProperty, bBMDForeignDeviceTable OptionalProperty, fDBBMDAddress OptionalProperty, fDSubscriptionLifetime OptionalProperty, bACnetIPv6Mode OptionalProperty, iPv6Address OptionalProperty, iPv6PrefixLength OptionalProperty, bACnetIPv6UDPPort OptionalProperty, iPv6DefaultGateway OptionalProperty, bACnetIPv6MulticastAddress OptionalProperty, iPv6DNSServer OptionalProperty, iPv6AutoAddressingEnable OptionalProperty, iPv6DHCPLeaseTime OptionalProperty, iPv6DHCPLeaseTimeRemaining OptionalProperty, iPv6DHCPServer OptionalProperty, iPv6ZoneIndex OptionalProperty, maxMaster OptionalProperty, maxInfoFrames OptionalProperty, slaveProxyEnable OptionalProperty, manualSlaveAddressBinding OptionalProperty, autoSlaveDiscovery OptionalProperty, slaveAddressBinding OptionalProperty, virtualMACAddressTable OptionalProperty, routingTable OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventState OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) NetworkPortBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithStatusFlags(statusFlags).WithReliability(reliability).WithOutOfService(outOfService).WithNetworkType(networkType).WithProtocolLevel(protocolLevel).WithReferencePort(referencePort).WithNetworkNumber(networkNumber).WithNetworkNumberQuality(networkNumberQuality).WithChangesPending(changesPending).WithCommand(command).WithMACAddress(mACAddress).WithAPDULength(aPDULength).WithLinkSpeed(linkSpeed).WithLinkSpeeds(linkSpeeds).WithLinkSpeedAutonegotiate(linkSpeedAutonegotiate).WithNetworkInterfaceName(networkInterfaceName).WithBACnetIPMode(bACnetIPMode).WithIPAddress(iPAddress).WithBACnetIPUDPPort(bACnetIPUDPPort).WithIPSubnetMask(iPSubnetMask).WithIPDefaultGateway(iPDefaultGateway).WithBACnetIPMulticastAddress(bACnetIPMulticastAddress).WithIPDNSServer(iPDNSServer).WithIPDHCPEnable(iPDHCPEnable).WithIPDHCPLeaseTime(iPDHCPLeaseTime).WithIPDHCPLeaseTimeRemaining(iPDHCPLeaseTimeRemaining).WithIPDHCPServer(iPDHCPServer).WithBACnetIPNATTraversal(bACnetIPNATTraversal).WithBACnetIPGlobalAddress(bACnetIPGlobalAddress).WithBBMDBroadcastDistributionTable(bBMDBroadcastDistributionTable).WithBBMDAcceptFDRegistrations(bBMDAcceptFDRegistrations).WithBBMDForeignDeviceTable(bBMDForeignDeviceTable).WithFDBBMDAddress(fDBBMDAddress).WithFDSubscriptionLifetime(fDSubscriptionLifetime).WithBACnetIPv6Mode(bACnetIPv6Mode).WithIPv6Address(iPv6Address).WithIPv6PrefixLength(iPv6PrefixLength).WithBACnetIPv6UDPPort(bACnetIPv6UDPPort).WithIPv6DefaultGateway(iPv6DefaultGateway).WithBACnetIPv6MulticastAddress(bACnetIPv6MulticastAddress).WithIPv6DNSServer(iPv6DNSServer).WithIPv6AutoAddressingEnable(iPv6AutoAddressingEnable).WithIPv6DHCPLeaseTime(iPv6DHCPLeaseTime).WithIPv6DHCPLeaseTimeRemaining(iPv6DHCPLeaseTimeRemaining).WithIPv6DHCPServer(iPv6DHCPServer).WithIPv6ZoneIndex(iPv6ZoneIndex).WithMaxMaster(maxMaster).WithMaxInfoFrames(maxInfoFrames).WithSlaveProxyEnable(slaveProxyEnable).WithManualSlaveAddressBinding(manualSlaveAddressBinding).WithAutoSlaveDiscovery(autoSlaveDiscovery).WithSlaveAddressBinding(slaveAddressBinding).WithVirtualMACAddressTable(virtualMACAddressTable).WithRoutingTable(routingTable).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventState(eventState).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_NetworkPortBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) NetworkPortBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_NetworkPortBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithObjectName(objectName ReadableProperty) NetworkPortBuilder { + b.ObjectName = objectName + return b +} + +func (b *_NetworkPortBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithObjectType(objectType ReadableProperty) NetworkPortBuilder { + b.ObjectType = objectType + return b +} + +func (b *_NetworkPortBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithDescription(description OptionalProperty) NetworkPortBuilder { + b.Description = description + return b +} + +func (b *_NetworkPortBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithStatusFlags(statusFlags ReadableProperty) NetworkPortBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_NetworkPortBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithReliability(reliability ReadableProperty) NetworkPortBuilder { + b.Reliability = reliability + return b +} + +func (b *_NetworkPortBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithOutOfService(outOfService ReadableProperty) NetworkPortBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_NetworkPortBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithNetworkType(networkType ReadableProperty) NetworkPortBuilder { + b.NetworkType = networkType + return b +} + +func (b *_NetworkPortBuilder) WithNetworkTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.NetworkType.CreateReadablePropertyBuilder()) + var err error + b.NetworkType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithProtocolLevel(protocolLevel ReadableProperty) NetworkPortBuilder { + b.ProtocolLevel = protocolLevel + return b +} + +func (b *_NetworkPortBuilder) WithProtocolLevelBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ProtocolLevel.CreateReadablePropertyBuilder()) + var err error + b.ProtocolLevel, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithReferencePort(referencePort OptionalProperty) NetworkPortBuilder { + b.ReferencePort = referencePort + return b +} + +func (b *_NetworkPortBuilder) WithReferencePortBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ReferencePort.CreateOptionalPropertyBuilder()) + var err error + b.ReferencePort, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithNetworkNumber(networkNumber ReadableProperty) NetworkPortBuilder { + b.NetworkNumber = networkNumber + return b +} + +func (b *_NetworkPortBuilder) WithNetworkNumberBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.NetworkNumber.CreateReadablePropertyBuilder()) + var err error + b.NetworkNumber, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithNetworkNumberQuality(networkNumberQuality ReadableProperty) NetworkPortBuilder { + b.NetworkNumberQuality = networkNumberQuality + return b +} + +func (b *_NetworkPortBuilder) WithNetworkNumberQualityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.NetworkNumberQuality.CreateReadablePropertyBuilder()) + var err error + b.NetworkNumberQuality, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithChangesPending(changesPending ReadableProperty) NetworkPortBuilder { + b.ChangesPending = changesPending + return b +} + +func (b *_NetworkPortBuilder) WithChangesPendingBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ChangesPending.CreateReadablePropertyBuilder()) + var err error + b.ChangesPending, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithCommand(command OptionalProperty) NetworkPortBuilder { + b.Command = command + return b +} + +func (b *_NetworkPortBuilder) WithCommandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.Command.CreateOptionalPropertyBuilder()) + var err error + b.Command, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithMACAddress(mACAddress OptionalProperty) NetworkPortBuilder { + b.MACAddress = mACAddress + return b +} + +func (b *_NetworkPortBuilder) WithMACAddressBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.MACAddress.CreateOptionalPropertyBuilder()) + var err error + b.MACAddress, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithAPDULength(aPDULength ReadableProperty) NetworkPortBuilder { + b.APDULength = aPDULength + return b +} + +func (b *_NetworkPortBuilder) WithAPDULengthBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.APDULength.CreateReadablePropertyBuilder()) + var err error + b.APDULength, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithLinkSpeed(linkSpeed ReadableProperty) NetworkPortBuilder { + b.LinkSpeed = linkSpeed + return b +} + +func (b *_NetworkPortBuilder) WithLinkSpeedBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.LinkSpeed.CreateReadablePropertyBuilder()) + var err error + b.LinkSpeed, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithLinkSpeeds(linkSpeeds OptionalProperty) NetworkPortBuilder { + b.LinkSpeeds = linkSpeeds + return b +} + +func (b *_NetworkPortBuilder) WithLinkSpeedsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.LinkSpeeds.CreateOptionalPropertyBuilder()) + var err error + b.LinkSpeeds, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithLinkSpeedAutonegotiate(linkSpeedAutonegotiate OptionalProperty) NetworkPortBuilder { + b.LinkSpeedAutonegotiate = linkSpeedAutonegotiate + return b +} + +func (b *_NetworkPortBuilder) WithLinkSpeedAutonegotiateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.LinkSpeedAutonegotiate.CreateOptionalPropertyBuilder()) + var err error + b.LinkSpeedAutonegotiate, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithNetworkInterfaceName(networkInterfaceName OptionalProperty) NetworkPortBuilder { + b.NetworkInterfaceName = networkInterfaceName + return b +} + +func (b *_NetworkPortBuilder) WithNetworkInterfaceNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.NetworkInterfaceName.CreateOptionalPropertyBuilder()) + var err error + b.NetworkInterfaceName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPMode(bACnetIPMode OptionalProperty) NetworkPortBuilder { + b.BACnetIPMode = bACnetIPMode + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPModeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BACnetIPMode.CreateOptionalPropertyBuilder()) + var err error + b.BACnetIPMode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPAddress(iPAddress OptionalProperty) NetworkPortBuilder { + b.IPAddress = iPAddress + return b +} + +func (b *_NetworkPortBuilder) WithIPAddressBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPAddress.CreateOptionalPropertyBuilder()) + var err error + b.IPAddress, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPUDPPort(bACnetIPUDPPort OptionalProperty) NetworkPortBuilder { + b.BACnetIPUDPPort = bACnetIPUDPPort + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPUDPPortBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BACnetIPUDPPort.CreateOptionalPropertyBuilder()) + var err error + b.BACnetIPUDPPort, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPSubnetMask(iPSubnetMask OptionalProperty) NetworkPortBuilder { + b.IPSubnetMask = iPSubnetMask + return b +} + +func (b *_NetworkPortBuilder) WithIPSubnetMaskBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPSubnetMask.CreateOptionalPropertyBuilder()) + var err error + b.IPSubnetMask, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPDefaultGateway(iPDefaultGateway OptionalProperty) NetworkPortBuilder { + b.IPDefaultGateway = iPDefaultGateway + return b +} + +func (b *_NetworkPortBuilder) WithIPDefaultGatewayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPDefaultGateway.CreateOptionalPropertyBuilder()) + var err error + b.IPDefaultGateway, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPMulticastAddress(bACnetIPMulticastAddress OptionalProperty) NetworkPortBuilder { + b.BACnetIPMulticastAddress = bACnetIPMulticastAddress + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPMulticastAddressBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BACnetIPMulticastAddress.CreateOptionalPropertyBuilder()) + var err error + b.BACnetIPMulticastAddress, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPDNSServer(iPDNSServer OptionalProperty) NetworkPortBuilder { + b.IPDNSServer = iPDNSServer + return b +} + +func (b *_NetworkPortBuilder) WithIPDNSServerBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPDNSServer.CreateOptionalPropertyBuilder()) + var err error + b.IPDNSServer, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPDHCPEnable(iPDHCPEnable OptionalProperty) NetworkPortBuilder { + b.IPDHCPEnable = iPDHCPEnable + return b +} + +func (b *_NetworkPortBuilder) WithIPDHCPEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPDHCPEnable.CreateOptionalPropertyBuilder()) + var err error + b.IPDHCPEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPDHCPLeaseTime(iPDHCPLeaseTime OptionalProperty) NetworkPortBuilder { + b.IPDHCPLeaseTime = iPDHCPLeaseTime + return b +} + +func (b *_NetworkPortBuilder) WithIPDHCPLeaseTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPDHCPLeaseTime.CreateOptionalPropertyBuilder()) + var err error + b.IPDHCPLeaseTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPDHCPLeaseTimeRemaining(iPDHCPLeaseTimeRemaining OptionalProperty) NetworkPortBuilder { + b.IPDHCPLeaseTimeRemaining = iPDHCPLeaseTimeRemaining + return b +} + +func (b *_NetworkPortBuilder) WithIPDHCPLeaseTimeRemainingBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPDHCPLeaseTimeRemaining.CreateOptionalPropertyBuilder()) + var err error + b.IPDHCPLeaseTimeRemaining, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPDHCPServer(iPDHCPServer OptionalProperty) NetworkPortBuilder { + b.IPDHCPServer = iPDHCPServer + return b +} + +func (b *_NetworkPortBuilder) WithIPDHCPServerBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPDHCPServer.CreateOptionalPropertyBuilder()) + var err error + b.IPDHCPServer, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPNATTraversal(bACnetIPNATTraversal OptionalProperty) NetworkPortBuilder { + b.BACnetIPNATTraversal = bACnetIPNATTraversal + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPNATTraversalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BACnetIPNATTraversal.CreateOptionalPropertyBuilder()) + var err error + b.BACnetIPNATTraversal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPGlobalAddress(bACnetIPGlobalAddress OptionalProperty) NetworkPortBuilder { + b.BACnetIPGlobalAddress = bACnetIPGlobalAddress + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPGlobalAddressBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BACnetIPGlobalAddress.CreateOptionalPropertyBuilder()) + var err error + b.BACnetIPGlobalAddress, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBBMDBroadcastDistributionTable(bBMDBroadcastDistributionTable OptionalProperty) NetworkPortBuilder { + b.BBMDBroadcastDistributionTable = bBMDBroadcastDistributionTable + return b +} + +func (b *_NetworkPortBuilder) WithBBMDBroadcastDistributionTableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BBMDBroadcastDistributionTable.CreateOptionalPropertyBuilder()) + var err error + b.BBMDBroadcastDistributionTable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBBMDAcceptFDRegistrations(bBMDAcceptFDRegistrations OptionalProperty) NetworkPortBuilder { + b.BBMDAcceptFDRegistrations = bBMDAcceptFDRegistrations + return b +} + +func (b *_NetworkPortBuilder) WithBBMDAcceptFDRegistrationsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BBMDAcceptFDRegistrations.CreateOptionalPropertyBuilder()) + var err error + b.BBMDAcceptFDRegistrations, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBBMDForeignDeviceTable(bBMDForeignDeviceTable OptionalProperty) NetworkPortBuilder { + b.BBMDForeignDeviceTable = bBMDForeignDeviceTable + return b +} + +func (b *_NetworkPortBuilder) WithBBMDForeignDeviceTableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BBMDForeignDeviceTable.CreateOptionalPropertyBuilder()) + var err error + b.BBMDForeignDeviceTable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithFDBBMDAddress(fDBBMDAddress OptionalProperty) NetworkPortBuilder { + b.FDBBMDAddress = fDBBMDAddress + return b +} + +func (b *_NetworkPortBuilder) WithFDBBMDAddressBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.FDBBMDAddress.CreateOptionalPropertyBuilder()) + var err error + b.FDBBMDAddress, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithFDSubscriptionLifetime(fDSubscriptionLifetime OptionalProperty) NetworkPortBuilder { + b.FDSubscriptionLifetime = fDSubscriptionLifetime + return b +} + +func (b *_NetworkPortBuilder) WithFDSubscriptionLifetimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.FDSubscriptionLifetime.CreateOptionalPropertyBuilder()) + var err error + b.FDSubscriptionLifetime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPv6Mode(bACnetIPv6Mode OptionalProperty) NetworkPortBuilder { + b.BACnetIPv6Mode = bACnetIPv6Mode + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPv6ModeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BACnetIPv6Mode.CreateOptionalPropertyBuilder()) + var err error + b.BACnetIPv6Mode, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPv6Address(iPv6Address OptionalProperty) NetworkPortBuilder { + b.IPv6Address = iPv6Address + return b +} + +func (b *_NetworkPortBuilder) WithIPv6AddressBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPv6Address.CreateOptionalPropertyBuilder()) + var err error + b.IPv6Address, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPv6PrefixLength(iPv6PrefixLength OptionalProperty) NetworkPortBuilder { + b.IPv6PrefixLength = iPv6PrefixLength + return b +} + +func (b *_NetworkPortBuilder) WithIPv6PrefixLengthBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPv6PrefixLength.CreateOptionalPropertyBuilder()) + var err error + b.IPv6PrefixLength, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPv6UDPPort(bACnetIPv6UDPPort OptionalProperty) NetworkPortBuilder { + b.BACnetIPv6UDPPort = bACnetIPv6UDPPort + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPv6UDPPortBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BACnetIPv6UDPPort.CreateOptionalPropertyBuilder()) + var err error + b.BACnetIPv6UDPPort, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DefaultGateway(iPv6DefaultGateway OptionalProperty) NetworkPortBuilder { + b.IPv6DefaultGateway = iPv6DefaultGateway + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DefaultGatewayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPv6DefaultGateway.CreateOptionalPropertyBuilder()) + var err error + b.IPv6DefaultGateway, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPv6MulticastAddress(bACnetIPv6MulticastAddress OptionalProperty) NetworkPortBuilder { + b.BACnetIPv6MulticastAddress = bACnetIPv6MulticastAddress + return b +} + +func (b *_NetworkPortBuilder) WithBACnetIPv6MulticastAddressBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.BACnetIPv6MulticastAddress.CreateOptionalPropertyBuilder()) + var err error + b.BACnetIPv6MulticastAddress, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DNSServer(iPv6DNSServer OptionalProperty) NetworkPortBuilder { + b.IPv6DNSServer = iPv6DNSServer + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DNSServerBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPv6DNSServer.CreateOptionalPropertyBuilder()) + var err error + b.IPv6DNSServer, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPv6AutoAddressingEnable(iPv6AutoAddressingEnable OptionalProperty) NetworkPortBuilder { + b.IPv6AutoAddressingEnable = iPv6AutoAddressingEnable + return b +} + +func (b *_NetworkPortBuilder) WithIPv6AutoAddressingEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPv6AutoAddressingEnable.CreateOptionalPropertyBuilder()) + var err error + b.IPv6AutoAddressingEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DHCPLeaseTime(iPv6DHCPLeaseTime OptionalProperty) NetworkPortBuilder { + b.IPv6DHCPLeaseTime = iPv6DHCPLeaseTime + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DHCPLeaseTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPv6DHCPLeaseTime.CreateOptionalPropertyBuilder()) + var err error + b.IPv6DHCPLeaseTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DHCPLeaseTimeRemaining(iPv6DHCPLeaseTimeRemaining OptionalProperty) NetworkPortBuilder { + b.IPv6DHCPLeaseTimeRemaining = iPv6DHCPLeaseTimeRemaining + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DHCPLeaseTimeRemainingBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPv6DHCPLeaseTimeRemaining.CreateOptionalPropertyBuilder()) + var err error + b.IPv6DHCPLeaseTimeRemaining, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DHCPServer(iPv6DHCPServer OptionalProperty) NetworkPortBuilder { + b.IPv6DHCPServer = iPv6DHCPServer + return b +} + +func (b *_NetworkPortBuilder) WithIPv6DHCPServerBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPv6DHCPServer.CreateOptionalPropertyBuilder()) + var err error + b.IPv6DHCPServer, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithIPv6ZoneIndex(iPv6ZoneIndex OptionalProperty) NetworkPortBuilder { + b.IPv6ZoneIndex = iPv6ZoneIndex + return b +} + +func (b *_NetworkPortBuilder) WithIPv6ZoneIndexBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.IPv6ZoneIndex.CreateOptionalPropertyBuilder()) + var err error + b.IPv6ZoneIndex, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithMaxMaster(maxMaster OptionalProperty) NetworkPortBuilder { + b.MaxMaster = maxMaster + return b +} + +func (b *_NetworkPortBuilder) WithMaxMasterBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.MaxMaster.CreateOptionalPropertyBuilder()) + var err error + b.MaxMaster, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithMaxInfoFrames(maxInfoFrames OptionalProperty) NetworkPortBuilder { + b.MaxInfoFrames = maxInfoFrames + return b +} + +func (b *_NetworkPortBuilder) WithMaxInfoFramesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.MaxInfoFrames.CreateOptionalPropertyBuilder()) + var err error + b.MaxInfoFrames, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithSlaveProxyEnable(slaveProxyEnable OptionalProperty) NetworkPortBuilder { + b.SlaveProxyEnable = slaveProxyEnable + return b +} + +func (b *_NetworkPortBuilder) WithSlaveProxyEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.SlaveProxyEnable.CreateOptionalPropertyBuilder()) + var err error + b.SlaveProxyEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithManualSlaveAddressBinding(manualSlaveAddressBinding OptionalProperty) NetworkPortBuilder { + b.ManualSlaveAddressBinding = manualSlaveAddressBinding + return b +} + +func (b *_NetworkPortBuilder) WithManualSlaveAddressBindingBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ManualSlaveAddressBinding.CreateOptionalPropertyBuilder()) + var err error + b.ManualSlaveAddressBinding, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithAutoSlaveDiscovery(autoSlaveDiscovery OptionalProperty) NetworkPortBuilder { + b.AutoSlaveDiscovery = autoSlaveDiscovery + return b +} + +func (b *_NetworkPortBuilder) WithAutoSlaveDiscoveryBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.AutoSlaveDiscovery.CreateOptionalPropertyBuilder()) + var err error + b.AutoSlaveDiscovery, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithSlaveAddressBinding(slaveAddressBinding OptionalProperty) NetworkPortBuilder { + b.SlaveAddressBinding = slaveAddressBinding + return b +} + +func (b *_NetworkPortBuilder) WithSlaveAddressBindingBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.SlaveAddressBinding.CreateOptionalPropertyBuilder()) + var err error + b.SlaveAddressBinding, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithVirtualMACAddressTable(virtualMACAddressTable OptionalProperty) NetworkPortBuilder { + b.VirtualMACAddressTable = virtualMACAddressTable + return b +} + +func (b *_NetworkPortBuilder) WithVirtualMACAddressTableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.VirtualMACAddressTable.CreateOptionalPropertyBuilder()) + var err error + b.VirtualMACAddressTable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithRoutingTable(routingTable OptionalProperty) NetworkPortBuilder { + b.RoutingTable = routingTable + return b +} + +func (b *_NetworkPortBuilder) WithRoutingTableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.RoutingTable.CreateOptionalPropertyBuilder()) + var err error + b.RoutingTable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) NetworkPortBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_NetworkPortBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithNotificationClass(notificationClass OptionalProperty) NetworkPortBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_NetworkPortBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithEventEnable(eventEnable OptionalProperty) NetworkPortBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_NetworkPortBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) NetworkPortBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_NetworkPortBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithNotifyType(notifyType OptionalProperty) NetworkPortBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_NetworkPortBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) NetworkPortBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_NetworkPortBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) NetworkPortBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_NetworkPortBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) NetworkPortBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_NetworkPortBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithEventState(eventState OptionalProperty) NetworkPortBuilder { + b.EventState = eventState + return b +} + +func (b *_NetworkPortBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) NetworkPortBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_NetworkPortBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithPropertyList(propertyList ReadableProperty) NetworkPortBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_NetworkPortBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithTags(tags OptionalProperty) NetworkPortBuilder { + b.Tags = tags + return b +} + +func (b *_NetworkPortBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithProfileLocation(profileLocation OptionalProperty) NetworkPortBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_NetworkPortBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) WithProfileName(profileName OptionalProperty) NetworkPortBuilder { + b.ProfileName = profileName + return b +} + +func (b *_NetworkPortBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkPortBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkPortBuilder) Build() (NetworkPort, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.NetworkType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'networkType' not set")) + } + if b.ProtocolLevel == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'protocolLevel' not set")) + } + if b.ReferencePort == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'referencePort' not set")) + } + if b.NetworkNumber == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'networkNumber' not set")) + } + if b.NetworkNumberQuality == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'networkNumberQuality' not set")) + } + if b.ChangesPending == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'changesPending' not set")) + } + if b.Command == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'command' not set")) + } + if b.MACAddress == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'mACAddress' not set")) + } + if b.APDULength == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'aPDULength' not set")) + } + if b.LinkSpeed == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'linkSpeed' not set")) + } + if b.LinkSpeeds == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'linkSpeeds' not set")) + } + if b.LinkSpeedAutonegotiate == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'linkSpeedAutonegotiate' not set")) + } + if b.NetworkInterfaceName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'networkInterfaceName' not set")) + } + if b.BACnetIPMode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bACnetIPMode' not set")) + } + if b.IPAddress == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPAddress' not set")) + } + if b.BACnetIPUDPPort == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bACnetIPUDPPort' not set")) + } + if b.IPSubnetMask == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPSubnetMask' not set")) + } + if b.IPDefaultGateway == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPDefaultGateway' not set")) + } + if b.BACnetIPMulticastAddress == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bACnetIPMulticastAddress' not set")) + } + if b.IPDNSServer == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPDNSServer' not set")) + } + if b.IPDHCPEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPDHCPEnable' not set")) + } + if b.IPDHCPLeaseTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPDHCPLeaseTime' not set")) + } + if b.IPDHCPLeaseTimeRemaining == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPDHCPLeaseTimeRemaining' not set")) + } + if b.IPDHCPServer == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPDHCPServer' not set")) + } + if b.BACnetIPNATTraversal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bACnetIPNATTraversal' not set")) + } + if b.BACnetIPGlobalAddress == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bACnetIPGlobalAddress' not set")) + } + if b.BBMDBroadcastDistributionTable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bBMDBroadcastDistributionTable' not set")) + } + if b.BBMDAcceptFDRegistrations == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bBMDAcceptFDRegistrations' not set")) + } + if b.BBMDForeignDeviceTable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bBMDForeignDeviceTable' not set")) + } + if b.FDBBMDAddress == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'fDBBMDAddress' not set")) + } + if b.FDSubscriptionLifetime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'fDSubscriptionLifetime' not set")) + } + if b.BACnetIPv6Mode == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bACnetIPv6Mode' not set")) + } + if b.IPv6Address == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPv6Address' not set")) + } + if b.IPv6PrefixLength == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPv6PrefixLength' not set")) + } + if b.BACnetIPv6UDPPort == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bACnetIPv6UDPPort' not set")) + } + if b.IPv6DefaultGateway == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPv6DefaultGateway' not set")) + } + if b.BACnetIPv6MulticastAddress == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bACnetIPv6MulticastAddress' not set")) + } + if b.IPv6DNSServer == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPv6DNSServer' not set")) + } + if b.IPv6AutoAddressingEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPv6AutoAddressingEnable' not set")) + } + if b.IPv6DHCPLeaseTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPv6DHCPLeaseTime' not set")) + } + if b.IPv6DHCPLeaseTimeRemaining == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPv6DHCPLeaseTimeRemaining' not set")) + } + if b.IPv6DHCPServer == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPv6DHCPServer' not set")) + } + if b.IPv6ZoneIndex == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'iPv6ZoneIndex' not set")) + } + if b.MaxMaster == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxMaster' not set")) + } + if b.MaxInfoFrames == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxInfoFrames' not set")) + } + if b.SlaveProxyEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'slaveProxyEnable' not set")) + } + if b.ManualSlaveAddressBinding == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'manualSlaveAddressBinding' not set")) + } + if b.AutoSlaveDiscovery == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'autoSlaveDiscovery' not set")) + } + if b.SlaveAddressBinding == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'slaveAddressBinding' not set")) + } + if b.VirtualMACAddressTable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'virtualMACAddressTable' not set")) + } + if b.RoutingTable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'routingTable' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._NetworkPort.deepCopy(), nil +} + +func (b *_NetworkPortBuilder) MustBuild() NetworkPort { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_NetworkPortBuilder) DeepCopy() any { + _copy := b.CreateNetworkPortBuilder().(*_NetworkPortBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateNetworkPortBuilder creates a NetworkPortBuilder +func (b *_NetworkPort) CreateNetworkPortBuilder() NetworkPortBuilder { + if b == nil { + return NewNetworkPortBuilder() + } + return &_NetworkPortBuilder{_NetworkPort: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_NetworkPort) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_NetworkPort) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_NetworkPort) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_NetworkPort) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_NetworkPort) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_NetworkPort) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_NetworkPort) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_NetworkPort) GetNetworkType() ReadableProperty { + return m.NetworkType +} + +func (m *_NetworkPort) GetProtocolLevel() ReadableProperty { + return m.ProtocolLevel +} + +func (m *_NetworkPort) GetReferencePort() OptionalProperty { + return m.ReferencePort +} + +func (m *_NetworkPort) GetNetworkNumber() ReadableProperty { + return m.NetworkNumber +} + +func (m *_NetworkPort) GetNetworkNumberQuality() ReadableProperty { + return m.NetworkNumberQuality +} + +func (m *_NetworkPort) GetChangesPending() ReadableProperty { + return m.ChangesPending +} + +func (m *_NetworkPort) GetCommand() OptionalProperty { + return m.Command +} + +func (m *_NetworkPort) GetMACAddress() OptionalProperty { + return m.MACAddress +} + +func (m *_NetworkPort) GetAPDULength() ReadableProperty { + return m.APDULength +} + +func (m *_NetworkPort) GetLinkSpeed() ReadableProperty { + return m.LinkSpeed +} + +func (m *_NetworkPort) GetLinkSpeeds() OptionalProperty { + return m.LinkSpeeds +} + +func (m *_NetworkPort) GetLinkSpeedAutonegotiate() OptionalProperty { + return m.LinkSpeedAutonegotiate +} + +func (m *_NetworkPort) GetNetworkInterfaceName() OptionalProperty { + return m.NetworkInterfaceName +} + +func (m *_NetworkPort) GetBACnetIPMode() OptionalProperty { + return m.BACnetIPMode +} + +func (m *_NetworkPort) GetIPAddress() OptionalProperty { + return m.IPAddress +} + +func (m *_NetworkPort) GetBACnetIPUDPPort() OptionalProperty { + return m.BACnetIPUDPPort +} + +func (m *_NetworkPort) GetIPSubnetMask() OptionalProperty { + return m.IPSubnetMask +} + +func (m *_NetworkPort) GetIPDefaultGateway() OptionalProperty { + return m.IPDefaultGateway +} + +func (m *_NetworkPort) GetBACnetIPMulticastAddress() OptionalProperty { + return m.BACnetIPMulticastAddress +} + +func (m *_NetworkPort) GetIPDNSServer() OptionalProperty { + return m.IPDNSServer +} + +func (m *_NetworkPort) GetIPDHCPEnable() OptionalProperty { + return m.IPDHCPEnable +} + +func (m *_NetworkPort) GetIPDHCPLeaseTime() OptionalProperty { + return m.IPDHCPLeaseTime +} + +func (m *_NetworkPort) GetIPDHCPLeaseTimeRemaining() OptionalProperty { + return m.IPDHCPLeaseTimeRemaining +} + +func (m *_NetworkPort) GetIPDHCPServer() OptionalProperty { + return m.IPDHCPServer +} + +func (m *_NetworkPort) GetBACnetIPNATTraversal() OptionalProperty { + return m.BACnetIPNATTraversal +} + +func (m *_NetworkPort) GetBACnetIPGlobalAddress() OptionalProperty { + return m.BACnetIPGlobalAddress +} + +func (m *_NetworkPort) GetBBMDBroadcastDistributionTable() OptionalProperty { + return m.BBMDBroadcastDistributionTable +} + +func (m *_NetworkPort) GetBBMDAcceptFDRegistrations() OptionalProperty { + return m.BBMDAcceptFDRegistrations +} + +func (m *_NetworkPort) GetBBMDForeignDeviceTable() OptionalProperty { + return m.BBMDForeignDeviceTable +} + +func (m *_NetworkPort) GetFDBBMDAddress() OptionalProperty { + return m.FDBBMDAddress +} + +func (m *_NetworkPort) GetFDSubscriptionLifetime() OptionalProperty { + return m.FDSubscriptionLifetime +} + +func (m *_NetworkPort) GetBACnetIPv6Mode() OptionalProperty { + return m.BACnetIPv6Mode +} + +func (m *_NetworkPort) GetIPv6Address() OptionalProperty { + return m.IPv6Address +} + +func (m *_NetworkPort) GetIPv6PrefixLength() OptionalProperty { + return m.IPv6PrefixLength +} + +func (m *_NetworkPort) GetBACnetIPv6UDPPort() OptionalProperty { + return m.BACnetIPv6UDPPort +} + +func (m *_NetworkPort) GetIPv6DefaultGateway() OptionalProperty { + return m.IPv6DefaultGateway +} + +func (m *_NetworkPort) GetBACnetIPv6MulticastAddress() OptionalProperty { + return m.BACnetIPv6MulticastAddress +} + +func (m *_NetworkPort) GetIPv6DNSServer() OptionalProperty { + return m.IPv6DNSServer +} + +func (m *_NetworkPort) GetIPv6AutoAddressingEnable() OptionalProperty { + return m.IPv6AutoAddressingEnable +} + +func (m *_NetworkPort) GetIPv6DHCPLeaseTime() OptionalProperty { + return m.IPv6DHCPLeaseTime +} + +func (m *_NetworkPort) GetIPv6DHCPLeaseTimeRemaining() OptionalProperty { + return m.IPv6DHCPLeaseTimeRemaining +} + +func (m *_NetworkPort) GetIPv6DHCPServer() OptionalProperty { + return m.IPv6DHCPServer +} + +func (m *_NetworkPort) GetIPv6ZoneIndex() OptionalProperty { + return m.IPv6ZoneIndex +} + +func (m *_NetworkPort) GetMaxMaster() OptionalProperty { + return m.MaxMaster +} + +func (m *_NetworkPort) GetMaxInfoFrames() OptionalProperty { + return m.MaxInfoFrames +} + +func (m *_NetworkPort) GetSlaveProxyEnable() OptionalProperty { + return m.SlaveProxyEnable +} + +func (m *_NetworkPort) GetManualSlaveAddressBinding() OptionalProperty { + return m.ManualSlaveAddressBinding +} + +func (m *_NetworkPort) GetAutoSlaveDiscovery() OptionalProperty { + return m.AutoSlaveDiscovery +} + +func (m *_NetworkPort) GetSlaveAddressBinding() OptionalProperty { + return m.SlaveAddressBinding +} + +func (m *_NetworkPort) GetVirtualMACAddressTable() OptionalProperty { + return m.VirtualMACAddressTable +} + +func (m *_NetworkPort) GetRoutingTable() OptionalProperty { + return m.RoutingTable +} + +func (m *_NetworkPort) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_NetworkPort) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_NetworkPort) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_NetworkPort) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_NetworkPort) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_NetworkPort) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_NetworkPort) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_NetworkPort) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_NetworkPort) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_NetworkPort) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_NetworkPort) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_NetworkPort) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_NetworkPort) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_NetworkPort) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastNetworkPort(structType any) NetworkPort { + if casted, ok := structType.(NetworkPort); ok { + return casted + } + if casted, ok := structType.(*NetworkPort); ok { + return *casted + } + return nil +} + +func (m *_NetworkPort) GetTypeName() string { + return "NetworkPort" +} + +func (m *_NetworkPort) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (networkType) + lengthInBits += m.NetworkType.GetLengthInBits(ctx) + + // Simple field (protocolLevel) + lengthInBits += m.ProtocolLevel.GetLengthInBits(ctx) + + // Simple field (referencePort) + lengthInBits += m.ReferencePort.GetLengthInBits(ctx) + + // Simple field (networkNumber) + lengthInBits += m.NetworkNumber.GetLengthInBits(ctx) + + // Simple field (networkNumberQuality) + lengthInBits += m.NetworkNumberQuality.GetLengthInBits(ctx) + + // Simple field (changesPending) + lengthInBits += m.ChangesPending.GetLengthInBits(ctx) + + // Simple field (command) + lengthInBits += m.Command.GetLengthInBits(ctx) + + // Simple field (mACAddress) + lengthInBits += m.MACAddress.GetLengthInBits(ctx) + + // Simple field (aPDULength) + lengthInBits += m.APDULength.GetLengthInBits(ctx) + + // Simple field (linkSpeed) + lengthInBits += m.LinkSpeed.GetLengthInBits(ctx) + + // Simple field (linkSpeeds) + lengthInBits += m.LinkSpeeds.GetLengthInBits(ctx) + + // Simple field (linkSpeedAutonegotiate) + lengthInBits += m.LinkSpeedAutonegotiate.GetLengthInBits(ctx) + + // Simple field (networkInterfaceName) + lengthInBits += m.NetworkInterfaceName.GetLengthInBits(ctx) + + // Simple field (bACnetIPMode) + lengthInBits += m.BACnetIPMode.GetLengthInBits(ctx) + + // Simple field (iPAddress) + lengthInBits += m.IPAddress.GetLengthInBits(ctx) + + // Simple field (bACnetIPUDPPort) + lengthInBits += m.BACnetIPUDPPort.GetLengthInBits(ctx) + + // Simple field (iPSubnetMask) + lengthInBits += m.IPSubnetMask.GetLengthInBits(ctx) + + // Simple field (iPDefaultGateway) + lengthInBits += m.IPDefaultGateway.GetLengthInBits(ctx) + + // Simple field (bACnetIPMulticastAddress) + lengthInBits += m.BACnetIPMulticastAddress.GetLengthInBits(ctx) + + // Simple field (iPDNSServer) + lengthInBits += m.IPDNSServer.GetLengthInBits(ctx) + + // Simple field (iPDHCPEnable) + lengthInBits += m.IPDHCPEnable.GetLengthInBits(ctx) + + // Simple field (iPDHCPLeaseTime) + lengthInBits += m.IPDHCPLeaseTime.GetLengthInBits(ctx) + + // Simple field (iPDHCPLeaseTimeRemaining) + lengthInBits += m.IPDHCPLeaseTimeRemaining.GetLengthInBits(ctx) + + // Simple field (iPDHCPServer) + lengthInBits += m.IPDHCPServer.GetLengthInBits(ctx) + + // Simple field (bACnetIPNATTraversal) + lengthInBits += m.BACnetIPNATTraversal.GetLengthInBits(ctx) + + // Simple field (bACnetIPGlobalAddress) + lengthInBits += m.BACnetIPGlobalAddress.GetLengthInBits(ctx) + + // Simple field (bBMDBroadcastDistributionTable) + lengthInBits += m.BBMDBroadcastDistributionTable.GetLengthInBits(ctx) + + // Simple field (bBMDAcceptFDRegistrations) + lengthInBits += m.BBMDAcceptFDRegistrations.GetLengthInBits(ctx) + + // Simple field (bBMDForeignDeviceTable) + lengthInBits += m.BBMDForeignDeviceTable.GetLengthInBits(ctx) + + // Simple field (fDBBMDAddress) + lengthInBits += m.FDBBMDAddress.GetLengthInBits(ctx) + + // Simple field (fDSubscriptionLifetime) + lengthInBits += m.FDSubscriptionLifetime.GetLengthInBits(ctx) + + // Simple field (bACnetIPv6Mode) + lengthInBits += m.BACnetIPv6Mode.GetLengthInBits(ctx) + + // Simple field (iPv6Address) + lengthInBits += m.IPv6Address.GetLengthInBits(ctx) + + // Simple field (iPv6PrefixLength) + lengthInBits += m.IPv6PrefixLength.GetLengthInBits(ctx) + + // Simple field (bACnetIPv6UDPPort) + lengthInBits += m.BACnetIPv6UDPPort.GetLengthInBits(ctx) + + // Simple field (iPv6DefaultGateway) + lengthInBits += m.IPv6DefaultGateway.GetLengthInBits(ctx) + + // Simple field (bACnetIPv6MulticastAddress) + lengthInBits += m.BACnetIPv6MulticastAddress.GetLengthInBits(ctx) + + // Simple field (iPv6DNSServer) + lengthInBits += m.IPv6DNSServer.GetLengthInBits(ctx) + + // Simple field (iPv6AutoAddressingEnable) + lengthInBits += m.IPv6AutoAddressingEnable.GetLengthInBits(ctx) + + // Simple field (iPv6DHCPLeaseTime) + lengthInBits += m.IPv6DHCPLeaseTime.GetLengthInBits(ctx) + + // Simple field (iPv6DHCPLeaseTimeRemaining) + lengthInBits += m.IPv6DHCPLeaseTimeRemaining.GetLengthInBits(ctx) + + // Simple field (iPv6DHCPServer) + lengthInBits += m.IPv6DHCPServer.GetLengthInBits(ctx) + + // Simple field (iPv6ZoneIndex) + lengthInBits += m.IPv6ZoneIndex.GetLengthInBits(ctx) + + // Simple field (maxMaster) + lengthInBits += m.MaxMaster.GetLengthInBits(ctx) + + // Simple field (maxInfoFrames) + lengthInBits += m.MaxInfoFrames.GetLengthInBits(ctx) + + // Simple field (slaveProxyEnable) + lengthInBits += m.SlaveProxyEnable.GetLengthInBits(ctx) + + // Simple field (manualSlaveAddressBinding) + lengthInBits += m.ManualSlaveAddressBinding.GetLengthInBits(ctx) + + // Simple field (autoSlaveDiscovery) + lengthInBits += m.AutoSlaveDiscovery.GetLengthInBits(ctx) + + // Simple field (slaveAddressBinding) + lengthInBits += m.SlaveAddressBinding.GetLengthInBits(ctx) + + // Simple field (virtualMACAddressTable) + lengthInBits += m.VirtualMACAddressTable.GetLengthInBits(ctx) + + // Simple field (routingTable) + lengthInBits += m.RoutingTable.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_NetworkPort) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func NetworkPortParse(ctx context.Context, theBytes []byte) (NetworkPort, error) { + return NetworkPortParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func NetworkPortParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (NetworkPort, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (NetworkPort, error) { + return NetworkPortParseWithBuffer(ctx, readBuffer) + } +} + +func NetworkPortParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (NetworkPort, error) { + v, err := (&_NetworkPort{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_NetworkPort) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__networkPort NetworkPort, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("NetworkPort"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for NetworkPort") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + networkType, err := ReadSimpleField[ReadableProperty](ctx, "networkType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetNetworkType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'networkType' field")) + } + m.NetworkType = networkType + + protocolLevel, err := ReadSimpleField[ReadableProperty](ctx, "protocolLevel", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetProtocolLevel")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'protocolLevel' field")) + } + m.ProtocolLevel = protocolLevel + + referencePort, err := ReadSimpleField[OptionalProperty](ctx, "referencePort", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'referencePort' field")) + } + m.ReferencePort = referencePort + + networkNumber, err := ReadSimpleField[ReadableProperty](ctx, "networkNumber", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'networkNumber' field")) + } + m.NetworkNumber = networkNumber + + networkNumberQuality, err := ReadSimpleField[ReadableProperty](ctx, "networkNumberQuality", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetNetworkNumberQuality")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'networkNumberQuality' field")) + } + m.NetworkNumberQuality = networkNumberQuality + + changesPending, err := ReadSimpleField[ReadableProperty](ctx, "changesPending", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'changesPending' field")) + } + m.ChangesPending = changesPending + + command, err := ReadSimpleField[OptionalProperty](ctx, "command", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNetworkPortCommand")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'command' field")) + } + m.Command = command + + mACAddress, err := ReadSimpleField[OptionalProperty](ctx, "mACAddress", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'mACAddress' field")) + } + m.MACAddress = mACAddress + + aPDULength, err := ReadSimpleField[ReadableProperty](ctx, "aPDULength", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'aPDULength' field")) + } + m.APDULength = aPDULength + + linkSpeed, err := ReadSimpleField[ReadableProperty](ctx, "linkSpeed", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'linkSpeed' field")) + } + m.LinkSpeed = linkSpeed + + linkSpeeds, err := ReadSimpleField[OptionalProperty](ctx, "linkSpeeds", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'linkSpeeds' field")) + } + m.LinkSpeeds = linkSpeeds + + linkSpeedAutonegotiate, err := ReadSimpleField[OptionalProperty](ctx, "linkSpeedAutonegotiate", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'linkSpeedAutonegotiate' field")) + } + m.LinkSpeedAutonegotiate = linkSpeedAutonegotiate + + networkInterfaceName, err := ReadSimpleField[OptionalProperty](ctx, "networkInterfaceName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'networkInterfaceName' field")) + } + m.NetworkInterfaceName = networkInterfaceName + + bACnetIPMode, err := ReadSimpleField[OptionalProperty](ctx, "bACnetIPMode", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetIPMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bACnetIPMode' field")) + } + m.BACnetIPMode = bACnetIPMode + + iPAddress, err := ReadSimpleField[OptionalProperty](ctx, "iPAddress", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPAddress' field")) + } + m.IPAddress = iPAddress + + bACnetIPUDPPort, err := ReadSimpleField[OptionalProperty](ctx, "bACnetIPUDPPort", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bACnetIPUDPPort' field")) + } + m.BACnetIPUDPPort = bACnetIPUDPPort + + iPSubnetMask, err := ReadSimpleField[OptionalProperty](ctx, "iPSubnetMask", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPSubnetMask' field")) + } + m.IPSubnetMask = iPSubnetMask + + iPDefaultGateway, err := ReadSimpleField[OptionalProperty](ctx, "iPDefaultGateway", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPDefaultGateway' field")) + } + m.IPDefaultGateway = iPDefaultGateway + + bACnetIPMulticastAddress, err := ReadSimpleField[OptionalProperty](ctx, "bACnetIPMulticastAddress", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bACnetIPMulticastAddress' field")) + } + m.BACnetIPMulticastAddress = bACnetIPMulticastAddress + + iPDNSServer, err := ReadSimpleField[OptionalProperty](ctx, "iPDNSServer", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPDNSServer' field")) + } + m.IPDNSServer = iPDNSServer + + iPDHCPEnable, err := ReadSimpleField[OptionalProperty](ctx, "iPDHCPEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPDHCPEnable' field")) + } + m.IPDHCPEnable = iPDHCPEnable + + iPDHCPLeaseTime, err := ReadSimpleField[OptionalProperty](ctx, "iPDHCPLeaseTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPDHCPLeaseTime' field")) + } + m.IPDHCPLeaseTime = iPDHCPLeaseTime + + iPDHCPLeaseTimeRemaining, err := ReadSimpleField[OptionalProperty](ctx, "iPDHCPLeaseTimeRemaining", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPDHCPLeaseTimeRemaining' field")) + } + m.IPDHCPLeaseTimeRemaining = iPDHCPLeaseTimeRemaining + + iPDHCPServer, err := ReadSimpleField[OptionalProperty](ctx, "iPDHCPServer", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPDHCPServer' field")) + } + m.IPDHCPServer = iPDHCPServer + + bACnetIPNATTraversal, err := ReadSimpleField[OptionalProperty](ctx, "bACnetIPNATTraversal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bACnetIPNATTraversal' field")) + } + m.BACnetIPNATTraversal = bACnetIPNATTraversal + + bACnetIPGlobalAddress, err := ReadSimpleField[OptionalProperty](ctx, "bACnetIPGlobalAddress", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetHostNPort")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bACnetIPGlobalAddress' field")) + } + m.BACnetIPGlobalAddress = bACnetIPGlobalAddress + + bBMDBroadcastDistributionTable, err := ReadSimpleField[OptionalProperty](ctx, "bBMDBroadcastDistributionTable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetBDTEntry")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bBMDBroadcastDistributionTable' field")) + } + m.BBMDBroadcastDistributionTable = bBMDBroadcastDistributionTable + + bBMDAcceptFDRegistrations, err := ReadSimpleField[OptionalProperty](ctx, "bBMDAcceptFDRegistrations", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bBMDAcceptFDRegistrations' field")) + } + m.BBMDAcceptFDRegistrations = bBMDAcceptFDRegistrations + + bBMDForeignDeviceTable, err := ReadSimpleField[OptionalProperty](ctx, "bBMDForeignDeviceTable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetFDTEntry")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bBMDForeignDeviceTable' field")) + } + m.BBMDForeignDeviceTable = bBMDForeignDeviceTable + + fDBBMDAddress, err := ReadSimpleField[OptionalProperty](ctx, "fDBBMDAddress", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetHostNPort")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'fDBBMDAddress' field")) + } + m.FDBBMDAddress = fDBBMDAddress + + fDSubscriptionLifetime, err := ReadSimpleField[OptionalProperty](ctx, "fDSubscriptionLifetime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'fDSubscriptionLifetime' field")) + } + m.FDSubscriptionLifetime = fDSubscriptionLifetime + + bACnetIPv6Mode, err := ReadSimpleField[OptionalProperty](ctx, "bACnetIPv6Mode", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetIPMode")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bACnetIPv6Mode' field")) + } + m.BACnetIPv6Mode = bACnetIPv6Mode + + iPv6Address, err := ReadSimpleField[OptionalProperty](ctx, "iPv6Address", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPv6Address' field")) + } + m.IPv6Address = iPv6Address + + iPv6PrefixLength, err := ReadSimpleField[OptionalProperty](ctx, "iPv6PrefixLength", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPv6PrefixLength' field")) + } + m.IPv6PrefixLength = iPv6PrefixLength + + bACnetIPv6UDPPort, err := ReadSimpleField[OptionalProperty](ctx, "bACnetIPv6UDPPort", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bACnetIPv6UDPPort' field")) + } + m.BACnetIPv6UDPPort = bACnetIPv6UDPPort + + iPv6DefaultGateway, err := ReadSimpleField[OptionalProperty](ctx, "iPv6DefaultGateway", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPv6DefaultGateway' field")) + } + m.IPv6DefaultGateway = iPv6DefaultGateway + + bACnetIPv6MulticastAddress, err := ReadSimpleField[OptionalProperty](ctx, "bACnetIPv6MulticastAddress", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bACnetIPv6MulticastAddress' field")) + } + m.BACnetIPv6MulticastAddress = bACnetIPv6MulticastAddress + + iPv6DNSServer, err := ReadSimpleField[OptionalProperty](ctx, "iPv6DNSServer", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPv6DNSServer' field")) + } + m.IPv6DNSServer = iPv6DNSServer + + iPv6AutoAddressingEnable, err := ReadSimpleField[OptionalProperty](ctx, "iPv6AutoAddressingEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPv6AutoAddressingEnable' field")) + } + m.IPv6AutoAddressingEnable = iPv6AutoAddressingEnable + + iPv6DHCPLeaseTime, err := ReadSimpleField[OptionalProperty](ctx, "iPv6DHCPLeaseTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPv6DHCPLeaseTime' field")) + } + m.IPv6DHCPLeaseTime = iPv6DHCPLeaseTime + + iPv6DHCPLeaseTimeRemaining, err := ReadSimpleField[OptionalProperty](ctx, "iPv6DHCPLeaseTimeRemaining", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPv6DHCPLeaseTimeRemaining' field")) + } + m.IPv6DHCPLeaseTimeRemaining = iPv6DHCPLeaseTimeRemaining + + iPv6DHCPServer, err := ReadSimpleField[OptionalProperty](ctx, "iPv6DHCPServer", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPv6DHCPServer' field")) + } + m.IPv6DHCPServer = iPv6DHCPServer + + iPv6ZoneIndex, err := ReadSimpleField[OptionalProperty](ctx, "iPv6ZoneIndex", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'iPv6ZoneIndex' field")) + } + m.IPv6ZoneIndex = iPv6ZoneIndex + + maxMaster, err := ReadSimpleField[OptionalProperty](ctx, "maxMaster", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned8(0..127)")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxMaster' field")) + } + m.MaxMaster = maxMaster + + maxInfoFrames, err := ReadSimpleField[OptionalProperty](ctx, "maxInfoFrames", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxInfoFrames' field")) + } + m.MaxInfoFrames = maxInfoFrames + + slaveProxyEnable, err := ReadSimpleField[OptionalProperty](ctx, "slaveProxyEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'slaveProxyEnable' field")) + } + m.SlaveProxyEnable = slaveProxyEnable + + manualSlaveAddressBinding, err := ReadSimpleField[OptionalProperty](ctx, "manualSlaveAddressBinding", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetAddressBinding")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'manualSlaveAddressBinding' field")) + } + m.ManualSlaveAddressBinding = manualSlaveAddressBinding + + autoSlaveDiscovery, err := ReadSimpleField[OptionalProperty](ctx, "autoSlaveDiscovery", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'autoSlaveDiscovery' field")) + } + m.AutoSlaveDiscovery = autoSlaveDiscovery + + slaveAddressBinding, err := ReadSimpleField[OptionalProperty](ctx, "slaveAddressBinding", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetAddressBinding")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'slaveAddressBinding' field")) + } + m.SlaveAddressBinding = slaveAddressBinding + + virtualMACAddressTable, err := ReadSimpleField[OptionalProperty](ctx, "virtualMACAddressTable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetVMACEntry")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'virtualMACAddressTable' field")) + } + m.VirtualMACAddressTable = virtualMACAddressTable + + routingTable, err := ReadSimpleField[OptionalProperty](ctx, "routingTable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetRouterEntry")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'routingTable' field")) + } + m.RoutingTable = routingTable + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("NetworkPort"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for NetworkPort") + } + + return m, nil +} + +func (m *_NetworkPort) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_NetworkPort) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("NetworkPort"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for NetworkPort") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "networkType", m.GetNetworkType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'networkType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "protocolLevel", m.GetProtocolLevel(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'protocolLevel' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "referencePort", m.GetReferencePort(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'referencePort' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "networkNumber", m.GetNetworkNumber(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'networkNumber' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "networkNumberQuality", m.GetNetworkNumberQuality(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'networkNumberQuality' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "changesPending", m.GetChangesPending(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'changesPending' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "command", m.GetCommand(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'command' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "mACAddress", m.GetMACAddress(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'mACAddress' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "aPDULength", m.GetAPDULength(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'aPDULength' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "linkSpeed", m.GetLinkSpeed(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'linkSpeed' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "linkSpeeds", m.GetLinkSpeeds(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'linkSpeeds' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "linkSpeedAutonegotiate", m.GetLinkSpeedAutonegotiate(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'linkSpeedAutonegotiate' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "networkInterfaceName", m.GetNetworkInterfaceName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'networkInterfaceName' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bACnetIPMode", m.GetBACnetIPMode(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bACnetIPMode' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPAddress", m.GetIPAddress(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPAddress' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bACnetIPUDPPort", m.GetBACnetIPUDPPort(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bACnetIPUDPPort' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPSubnetMask", m.GetIPSubnetMask(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPSubnetMask' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPDefaultGateway", m.GetIPDefaultGateway(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPDefaultGateway' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bACnetIPMulticastAddress", m.GetBACnetIPMulticastAddress(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bACnetIPMulticastAddress' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPDNSServer", m.GetIPDNSServer(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPDNSServer' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPDHCPEnable", m.GetIPDHCPEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPDHCPEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPDHCPLeaseTime", m.GetIPDHCPLeaseTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPDHCPLeaseTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPDHCPLeaseTimeRemaining", m.GetIPDHCPLeaseTimeRemaining(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPDHCPLeaseTimeRemaining' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPDHCPServer", m.GetIPDHCPServer(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPDHCPServer' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bACnetIPNATTraversal", m.GetBACnetIPNATTraversal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bACnetIPNATTraversal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bACnetIPGlobalAddress", m.GetBACnetIPGlobalAddress(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bACnetIPGlobalAddress' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bBMDBroadcastDistributionTable", m.GetBBMDBroadcastDistributionTable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bBMDBroadcastDistributionTable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bBMDAcceptFDRegistrations", m.GetBBMDAcceptFDRegistrations(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bBMDAcceptFDRegistrations' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bBMDForeignDeviceTable", m.GetBBMDForeignDeviceTable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bBMDForeignDeviceTable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "fDBBMDAddress", m.GetFDBBMDAddress(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'fDBBMDAddress' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "fDSubscriptionLifetime", m.GetFDSubscriptionLifetime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'fDSubscriptionLifetime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bACnetIPv6Mode", m.GetBACnetIPv6Mode(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bACnetIPv6Mode' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPv6Address", m.GetIPv6Address(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPv6Address' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPv6PrefixLength", m.GetIPv6PrefixLength(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPv6PrefixLength' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bACnetIPv6UDPPort", m.GetBACnetIPv6UDPPort(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bACnetIPv6UDPPort' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPv6DefaultGateway", m.GetIPv6DefaultGateway(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPv6DefaultGateway' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "bACnetIPv6MulticastAddress", m.GetBACnetIPv6MulticastAddress(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bACnetIPv6MulticastAddress' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPv6DNSServer", m.GetIPv6DNSServer(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPv6DNSServer' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPv6AutoAddressingEnable", m.GetIPv6AutoAddressingEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPv6AutoAddressingEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPv6DHCPLeaseTime", m.GetIPv6DHCPLeaseTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPv6DHCPLeaseTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPv6DHCPLeaseTimeRemaining", m.GetIPv6DHCPLeaseTimeRemaining(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPv6DHCPLeaseTimeRemaining' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPv6DHCPServer", m.GetIPv6DHCPServer(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPv6DHCPServer' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "iPv6ZoneIndex", m.GetIPv6ZoneIndex(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'iPv6ZoneIndex' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxMaster", m.GetMaxMaster(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxMaster' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxInfoFrames", m.GetMaxInfoFrames(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxInfoFrames' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "slaveProxyEnable", m.GetSlaveProxyEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'slaveProxyEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "manualSlaveAddressBinding", m.GetManualSlaveAddressBinding(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'manualSlaveAddressBinding' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "autoSlaveDiscovery", m.GetAutoSlaveDiscovery(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'autoSlaveDiscovery' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "slaveAddressBinding", m.GetSlaveAddressBinding(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'slaveAddressBinding' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "virtualMACAddressTable", m.GetVirtualMACAddressTable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'virtualMACAddressTable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "routingTable", m.GetRoutingTable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'routingTable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("NetworkPort"); popErr != nil { + return errors.Wrap(popErr, "Error popping for NetworkPort") + } + return nil +} + +func (m *_NetworkPort) IsNetworkPort() {} + +func (m *_NetworkPort) DeepCopy() any { + return m.deepCopy() +} + +func (m *_NetworkPort) deepCopy() *_NetworkPort { + if m == nil { + return nil + } + _NetworkPortCopy := &_NetworkPort{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.NetworkType.DeepCopy().(ReadableProperty), + m.ProtocolLevel.DeepCopy().(ReadableProperty), + m.ReferencePort.DeepCopy().(OptionalProperty), + m.NetworkNumber.DeepCopy().(ReadableProperty), + m.NetworkNumberQuality.DeepCopy().(ReadableProperty), + m.ChangesPending.DeepCopy().(ReadableProperty), + m.Command.DeepCopy().(OptionalProperty), + m.MACAddress.DeepCopy().(OptionalProperty), + m.APDULength.DeepCopy().(ReadableProperty), + m.LinkSpeed.DeepCopy().(ReadableProperty), + m.LinkSpeeds.DeepCopy().(OptionalProperty), + m.LinkSpeedAutonegotiate.DeepCopy().(OptionalProperty), + m.NetworkInterfaceName.DeepCopy().(OptionalProperty), + m.BACnetIPMode.DeepCopy().(OptionalProperty), + m.IPAddress.DeepCopy().(OptionalProperty), + m.BACnetIPUDPPort.DeepCopy().(OptionalProperty), + m.IPSubnetMask.DeepCopy().(OptionalProperty), + m.IPDefaultGateway.DeepCopy().(OptionalProperty), + m.BACnetIPMulticastAddress.DeepCopy().(OptionalProperty), + m.IPDNSServer.DeepCopy().(OptionalProperty), + m.IPDHCPEnable.DeepCopy().(OptionalProperty), + m.IPDHCPLeaseTime.DeepCopy().(OptionalProperty), + m.IPDHCPLeaseTimeRemaining.DeepCopy().(OptionalProperty), + m.IPDHCPServer.DeepCopy().(OptionalProperty), + m.BACnetIPNATTraversal.DeepCopy().(OptionalProperty), + m.BACnetIPGlobalAddress.DeepCopy().(OptionalProperty), + m.BBMDBroadcastDistributionTable.DeepCopy().(OptionalProperty), + m.BBMDAcceptFDRegistrations.DeepCopy().(OptionalProperty), + m.BBMDForeignDeviceTable.DeepCopy().(OptionalProperty), + m.FDBBMDAddress.DeepCopy().(OptionalProperty), + m.FDSubscriptionLifetime.DeepCopy().(OptionalProperty), + m.BACnetIPv6Mode.DeepCopy().(OptionalProperty), + m.IPv6Address.DeepCopy().(OptionalProperty), + m.IPv6PrefixLength.DeepCopy().(OptionalProperty), + m.BACnetIPv6UDPPort.DeepCopy().(OptionalProperty), + m.IPv6DefaultGateway.DeepCopy().(OptionalProperty), + m.BACnetIPv6MulticastAddress.DeepCopy().(OptionalProperty), + m.IPv6DNSServer.DeepCopy().(OptionalProperty), + m.IPv6AutoAddressingEnable.DeepCopy().(OptionalProperty), + m.IPv6DHCPLeaseTime.DeepCopy().(OptionalProperty), + m.IPv6DHCPLeaseTimeRemaining.DeepCopy().(OptionalProperty), + m.IPv6DHCPServer.DeepCopy().(OptionalProperty), + m.IPv6ZoneIndex.DeepCopy().(OptionalProperty), + m.MaxMaster.DeepCopy().(OptionalProperty), + m.MaxInfoFrames.DeepCopy().(OptionalProperty), + m.SlaveProxyEnable.DeepCopy().(OptionalProperty), + m.ManualSlaveAddressBinding.DeepCopy().(OptionalProperty), + m.AutoSlaveDiscovery.DeepCopy().(OptionalProperty), + m.SlaveAddressBinding.DeepCopy().(OptionalProperty), + m.VirtualMACAddressTable.DeepCopy().(OptionalProperty), + m.RoutingTable.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _NetworkPortCopy +} + +func (m *_NetworkPort) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/NetworkSecurity.go b/plc4go/protocols/bacnetip/readwrite/model/NetworkSecurity.go new file mode 100644 index 00000000000..99499c60e1f --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/NetworkSecurity.go @@ -0,0 +1,1236 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// NetworkSecurity is the corresponding interface of NetworkSecurity +type NetworkSecurity interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetBaseDeviceSecurityPolicy returns BaseDeviceSecurityPolicy (property field) + GetBaseDeviceSecurityPolicy() WritableProperty + // GetNetworkAccessSecurityPolicies returns NetworkAccessSecurityPolicies (property field) + GetNetworkAccessSecurityPolicies() WritableProperty + // GetSecurityTimeWindow returns SecurityTimeWindow (property field) + GetSecurityTimeWindow() WritableProperty + // GetPacketReorderTime returns PacketReorderTime (property field) + GetPacketReorderTime() WritableProperty + // GetDistributionKeyRevision returns DistributionKeyRevision (property field) + GetDistributionKeyRevision() ReadableProperty + // GetKeySets returns KeySets (property field) + GetKeySets() ReadableProperty + // GetLastKeyServer returns LastKeyServer (property field) + GetLastKeyServer() WritableProperty + // GetSecurityPDUTimeout returns SecurityPDUTimeout (property field) + GetSecurityPDUTimeout() WritableProperty + // GetUpdateKeySetTimeout returns UpdateKeySetTimeout (property field) + GetUpdateKeySetTimeout() ReadableProperty + // GetSupportedSecurityAlgorithms returns SupportedSecurityAlgorithms (property field) + GetSupportedSecurityAlgorithms() ReadableProperty + // GetDoNotHide returns DoNotHide (property field) + GetDoNotHide() WritableProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsNetworkSecurity is a marker method to prevent unintentional type checks (interfaces of same signature) + IsNetworkSecurity() + // CreateBuilder creates a NetworkSecurityBuilder + CreateNetworkSecurityBuilder() NetworkSecurityBuilder +} + +// _NetworkSecurity is the data-structure of this message +type _NetworkSecurity struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + BaseDeviceSecurityPolicy WritableProperty + NetworkAccessSecurityPolicies WritableProperty + SecurityTimeWindow WritableProperty + PacketReorderTime WritableProperty + DistributionKeyRevision ReadableProperty + KeySets ReadableProperty + LastKeyServer WritableProperty + SecurityPDUTimeout WritableProperty + UpdateKeySetTimeout ReadableProperty + SupportedSecurityAlgorithms ReadableProperty + DoNotHide WritableProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ NetworkSecurity = (*_NetworkSecurity)(nil) + +// NewNetworkSecurity factory function for _NetworkSecurity +func NewNetworkSecurity(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, baseDeviceSecurityPolicy WritableProperty, networkAccessSecurityPolicies WritableProperty, securityTimeWindow WritableProperty, packetReorderTime WritableProperty, distributionKeyRevision ReadableProperty, keySets ReadableProperty, lastKeyServer WritableProperty, securityPDUTimeout WritableProperty, updateKeySetTimeout ReadableProperty, supportedSecurityAlgorithms ReadableProperty, doNotHide WritableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_NetworkSecurity { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for NetworkSecurity must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for NetworkSecurity must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for NetworkSecurity must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for NetworkSecurity must not be nil") + } + if baseDeviceSecurityPolicy == nil { + panic("baseDeviceSecurityPolicy of type WritableProperty for NetworkSecurity must not be nil") + } + if networkAccessSecurityPolicies == nil { + panic("networkAccessSecurityPolicies of type WritableProperty for NetworkSecurity must not be nil") + } + if securityTimeWindow == nil { + panic("securityTimeWindow of type WritableProperty for NetworkSecurity must not be nil") + } + if packetReorderTime == nil { + panic("packetReorderTime of type WritableProperty for NetworkSecurity must not be nil") + } + if distributionKeyRevision == nil { + panic("distributionKeyRevision of type ReadableProperty for NetworkSecurity must not be nil") + } + if keySets == nil { + panic("keySets of type ReadableProperty for NetworkSecurity must not be nil") + } + if lastKeyServer == nil { + panic("lastKeyServer of type WritableProperty for NetworkSecurity must not be nil") + } + if securityPDUTimeout == nil { + panic("securityPDUTimeout of type WritableProperty for NetworkSecurity must not be nil") + } + if updateKeySetTimeout == nil { + panic("updateKeySetTimeout of type ReadableProperty for NetworkSecurity must not be nil") + } + if supportedSecurityAlgorithms == nil { + panic("supportedSecurityAlgorithms of type ReadableProperty for NetworkSecurity must not be nil") + } + if doNotHide == nil { + panic("doNotHide of type WritableProperty for NetworkSecurity must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for NetworkSecurity must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for NetworkSecurity must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for NetworkSecurity must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for NetworkSecurity must not be nil") + } + return &_NetworkSecurity{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, BaseDeviceSecurityPolicy: baseDeviceSecurityPolicy, NetworkAccessSecurityPolicies: networkAccessSecurityPolicies, SecurityTimeWindow: securityTimeWindow, PacketReorderTime: packetReorderTime, DistributionKeyRevision: distributionKeyRevision, KeySets: keySets, LastKeyServer: lastKeyServer, SecurityPDUTimeout: securityPDUTimeout, UpdateKeySetTimeout: updateKeySetTimeout, SupportedSecurityAlgorithms: supportedSecurityAlgorithms, DoNotHide: doNotHide, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// NetworkSecurityBuilder is a builder for NetworkSecurity +type NetworkSecurityBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, baseDeviceSecurityPolicy WritableProperty, networkAccessSecurityPolicies WritableProperty, securityTimeWindow WritableProperty, packetReorderTime WritableProperty, distributionKeyRevision ReadableProperty, keySets ReadableProperty, lastKeyServer WritableProperty, securityPDUTimeout WritableProperty, updateKeySetTimeout ReadableProperty, supportedSecurityAlgorithms ReadableProperty, doNotHide WritableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) NetworkSecurityBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) NetworkSecurityBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) NetworkSecurityBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) NetworkSecurityBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) NetworkSecurityBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkSecurityBuilder + // WithBaseDeviceSecurityPolicy adds BaseDeviceSecurityPolicy (property field) + WithBaseDeviceSecurityPolicy(WritableProperty) NetworkSecurityBuilder + // WithBaseDeviceSecurityPolicyBuilder adds BaseDeviceSecurityPolicy (property field) which is build by the builder + WithBaseDeviceSecurityPolicyBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder + // WithNetworkAccessSecurityPolicies adds NetworkAccessSecurityPolicies (property field) + WithNetworkAccessSecurityPolicies(WritableProperty) NetworkSecurityBuilder + // WithNetworkAccessSecurityPoliciesBuilder adds NetworkAccessSecurityPolicies (property field) which is build by the builder + WithNetworkAccessSecurityPoliciesBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder + // WithSecurityTimeWindow adds SecurityTimeWindow (property field) + WithSecurityTimeWindow(WritableProperty) NetworkSecurityBuilder + // WithSecurityTimeWindowBuilder adds SecurityTimeWindow (property field) which is build by the builder + WithSecurityTimeWindowBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder + // WithPacketReorderTime adds PacketReorderTime (property field) + WithPacketReorderTime(WritableProperty) NetworkSecurityBuilder + // WithPacketReorderTimeBuilder adds PacketReorderTime (property field) which is build by the builder + WithPacketReorderTimeBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder + // WithDistributionKeyRevision adds DistributionKeyRevision (property field) + WithDistributionKeyRevision(ReadableProperty) NetworkSecurityBuilder + // WithDistributionKeyRevisionBuilder adds DistributionKeyRevision (property field) which is build by the builder + WithDistributionKeyRevisionBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder + // WithKeySets adds KeySets (property field) + WithKeySets(ReadableProperty) NetworkSecurityBuilder + // WithKeySetsBuilder adds KeySets (property field) which is build by the builder + WithKeySetsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder + // WithLastKeyServer adds LastKeyServer (property field) + WithLastKeyServer(WritableProperty) NetworkSecurityBuilder + // WithLastKeyServerBuilder adds LastKeyServer (property field) which is build by the builder + WithLastKeyServerBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder + // WithSecurityPDUTimeout adds SecurityPDUTimeout (property field) + WithSecurityPDUTimeout(WritableProperty) NetworkSecurityBuilder + // WithSecurityPDUTimeoutBuilder adds SecurityPDUTimeout (property field) which is build by the builder + WithSecurityPDUTimeoutBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder + // WithUpdateKeySetTimeout adds UpdateKeySetTimeout (property field) + WithUpdateKeySetTimeout(ReadableProperty) NetworkSecurityBuilder + // WithUpdateKeySetTimeoutBuilder adds UpdateKeySetTimeout (property field) which is build by the builder + WithUpdateKeySetTimeoutBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder + // WithSupportedSecurityAlgorithms adds SupportedSecurityAlgorithms (property field) + WithSupportedSecurityAlgorithms(ReadableProperty) NetworkSecurityBuilder + // WithSupportedSecurityAlgorithmsBuilder adds SupportedSecurityAlgorithms (property field) which is build by the builder + WithSupportedSecurityAlgorithmsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder + // WithDoNotHide adds DoNotHide (property field) + WithDoNotHide(WritableProperty) NetworkSecurityBuilder + // WithDoNotHideBuilder adds DoNotHide (property field) which is build by the builder + WithDoNotHideBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) NetworkSecurityBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) NetworkSecurityBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkSecurityBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) NetworkSecurityBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkSecurityBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) NetworkSecurityBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkSecurityBuilder + // Build builds the NetworkSecurity or returns an error if something is wrong + Build() (NetworkSecurity, error) + // MustBuild does the same as Build but panics on error + MustBuild() NetworkSecurity +} + +// NewNetworkSecurityBuilder() creates a NetworkSecurityBuilder +func NewNetworkSecurityBuilder() NetworkSecurityBuilder { + return &_NetworkSecurityBuilder{_NetworkSecurity: new(_NetworkSecurity)} +} + +type _NetworkSecurityBuilder struct { + *_NetworkSecurity + + err *utils.MultiError +} + +var _ (NetworkSecurityBuilder) = (*_NetworkSecurityBuilder)(nil) + +func (b *_NetworkSecurityBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, baseDeviceSecurityPolicy WritableProperty, networkAccessSecurityPolicies WritableProperty, securityTimeWindow WritableProperty, packetReorderTime WritableProperty, distributionKeyRevision ReadableProperty, keySets ReadableProperty, lastKeyServer WritableProperty, securityPDUTimeout WritableProperty, updateKeySetTimeout ReadableProperty, supportedSecurityAlgorithms ReadableProperty, doNotHide WritableProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) NetworkSecurityBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithBaseDeviceSecurityPolicy(baseDeviceSecurityPolicy).WithNetworkAccessSecurityPolicies(networkAccessSecurityPolicies).WithSecurityTimeWindow(securityTimeWindow).WithPacketReorderTime(packetReorderTime).WithDistributionKeyRevision(distributionKeyRevision).WithKeySets(keySets).WithLastKeyServer(lastKeyServer).WithSecurityPDUTimeout(securityPDUTimeout).WithUpdateKeySetTimeout(updateKeySetTimeout).WithSupportedSecurityAlgorithms(supportedSecurityAlgorithms).WithDoNotHide(doNotHide).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_NetworkSecurityBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) NetworkSecurityBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_NetworkSecurityBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithObjectName(objectName ReadableProperty) NetworkSecurityBuilder { + b.ObjectName = objectName + return b +} + +func (b *_NetworkSecurityBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithObjectType(objectType ReadableProperty) NetworkSecurityBuilder { + b.ObjectType = objectType + return b +} + +func (b *_NetworkSecurityBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithDescription(description OptionalProperty) NetworkSecurityBuilder { + b.Description = description + return b +} + +func (b *_NetworkSecurityBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithBaseDeviceSecurityPolicy(baseDeviceSecurityPolicy WritableProperty) NetworkSecurityBuilder { + b.BaseDeviceSecurityPolicy = baseDeviceSecurityPolicy + return b +} + +func (b *_NetworkSecurityBuilder) WithBaseDeviceSecurityPolicyBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.BaseDeviceSecurityPolicy.CreateWritablePropertyBuilder()) + var err error + b.BaseDeviceSecurityPolicy, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithNetworkAccessSecurityPolicies(networkAccessSecurityPolicies WritableProperty) NetworkSecurityBuilder { + b.NetworkAccessSecurityPolicies = networkAccessSecurityPolicies + return b +} + +func (b *_NetworkSecurityBuilder) WithNetworkAccessSecurityPoliciesBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.NetworkAccessSecurityPolicies.CreateWritablePropertyBuilder()) + var err error + b.NetworkAccessSecurityPolicies, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithSecurityTimeWindow(securityTimeWindow WritableProperty) NetworkSecurityBuilder { + b.SecurityTimeWindow = securityTimeWindow + return b +} + +func (b *_NetworkSecurityBuilder) WithSecurityTimeWindowBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.SecurityTimeWindow.CreateWritablePropertyBuilder()) + var err error + b.SecurityTimeWindow, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithPacketReorderTime(packetReorderTime WritableProperty) NetworkSecurityBuilder { + b.PacketReorderTime = packetReorderTime + return b +} + +func (b *_NetworkSecurityBuilder) WithPacketReorderTimeBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.PacketReorderTime.CreateWritablePropertyBuilder()) + var err error + b.PacketReorderTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithDistributionKeyRevision(distributionKeyRevision ReadableProperty) NetworkSecurityBuilder { + b.DistributionKeyRevision = distributionKeyRevision + return b +} + +func (b *_NetworkSecurityBuilder) WithDistributionKeyRevisionBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.DistributionKeyRevision.CreateReadablePropertyBuilder()) + var err error + b.DistributionKeyRevision, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithKeySets(keySets ReadableProperty) NetworkSecurityBuilder { + b.KeySets = keySets + return b +} + +func (b *_NetworkSecurityBuilder) WithKeySetsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.KeySets.CreateReadablePropertyBuilder()) + var err error + b.KeySets, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithLastKeyServer(lastKeyServer WritableProperty) NetworkSecurityBuilder { + b.LastKeyServer = lastKeyServer + return b +} + +func (b *_NetworkSecurityBuilder) WithLastKeyServerBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.LastKeyServer.CreateWritablePropertyBuilder()) + var err error + b.LastKeyServer, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithSecurityPDUTimeout(securityPDUTimeout WritableProperty) NetworkSecurityBuilder { + b.SecurityPDUTimeout = securityPDUTimeout + return b +} + +func (b *_NetworkSecurityBuilder) WithSecurityPDUTimeoutBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.SecurityPDUTimeout.CreateWritablePropertyBuilder()) + var err error + b.SecurityPDUTimeout, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithUpdateKeySetTimeout(updateKeySetTimeout ReadableProperty) NetworkSecurityBuilder { + b.UpdateKeySetTimeout = updateKeySetTimeout + return b +} + +func (b *_NetworkSecurityBuilder) WithUpdateKeySetTimeoutBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.UpdateKeySetTimeout.CreateReadablePropertyBuilder()) + var err error + b.UpdateKeySetTimeout, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithSupportedSecurityAlgorithms(supportedSecurityAlgorithms ReadableProperty) NetworkSecurityBuilder { + b.SupportedSecurityAlgorithms = supportedSecurityAlgorithms + return b +} + +func (b *_NetworkSecurityBuilder) WithSupportedSecurityAlgorithmsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.SupportedSecurityAlgorithms.CreateReadablePropertyBuilder()) + var err error + b.SupportedSecurityAlgorithms, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithDoNotHide(doNotHide WritableProperty) NetworkSecurityBuilder { + b.DoNotHide = doNotHide + return b +} + +func (b *_NetworkSecurityBuilder) WithDoNotHideBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.DoNotHide.CreateWritablePropertyBuilder()) + var err error + b.DoNotHide, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithPropertyList(propertyList ReadableProperty) NetworkSecurityBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_NetworkSecurityBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithTags(tags OptionalProperty) NetworkSecurityBuilder { + b.Tags = tags + return b +} + +func (b *_NetworkSecurityBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithProfileLocation(profileLocation OptionalProperty) NetworkSecurityBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_NetworkSecurityBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) WithProfileName(profileName OptionalProperty) NetworkSecurityBuilder { + b.ProfileName = profileName + return b +} + +func (b *_NetworkSecurityBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NetworkSecurityBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NetworkSecurityBuilder) Build() (NetworkSecurity, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.BaseDeviceSecurityPolicy == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'baseDeviceSecurityPolicy' not set")) + } + if b.NetworkAccessSecurityPolicies == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'networkAccessSecurityPolicies' not set")) + } + if b.SecurityTimeWindow == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'securityTimeWindow' not set")) + } + if b.PacketReorderTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'packetReorderTime' not set")) + } + if b.DistributionKeyRevision == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'distributionKeyRevision' not set")) + } + if b.KeySets == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'keySets' not set")) + } + if b.LastKeyServer == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastKeyServer' not set")) + } + if b.SecurityPDUTimeout == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'securityPDUTimeout' not set")) + } + if b.UpdateKeySetTimeout == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'updateKeySetTimeout' not set")) + } + if b.SupportedSecurityAlgorithms == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'supportedSecurityAlgorithms' not set")) + } + if b.DoNotHide == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'doNotHide' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._NetworkSecurity.deepCopy(), nil +} + +func (b *_NetworkSecurityBuilder) MustBuild() NetworkSecurity { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_NetworkSecurityBuilder) DeepCopy() any { + _copy := b.CreateNetworkSecurityBuilder().(*_NetworkSecurityBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateNetworkSecurityBuilder creates a NetworkSecurityBuilder +func (b *_NetworkSecurity) CreateNetworkSecurityBuilder() NetworkSecurityBuilder { + if b == nil { + return NewNetworkSecurityBuilder() + } + return &_NetworkSecurityBuilder{_NetworkSecurity: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_NetworkSecurity) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_NetworkSecurity) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_NetworkSecurity) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_NetworkSecurity) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_NetworkSecurity) GetBaseDeviceSecurityPolicy() WritableProperty { + return m.BaseDeviceSecurityPolicy +} + +func (m *_NetworkSecurity) GetNetworkAccessSecurityPolicies() WritableProperty { + return m.NetworkAccessSecurityPolicies +} + +func (m *_NetworkSecurity) GetSecurityTimeWindow() WritableProperty { + return m.SecurityTimeWindow +} + +func (m *_NetworkSecurity) GetPacketReorderTime() WritableProperty { + return m.PacketReorderTime +} + +func (m *_NetworkSecurity) GetDistributionKeyRevision() ReadableProperty { + return m.DistributionKeyRevision +} + +func (m *_NetworkSecurity) GetKeySets() ReadableProperty { + return m.KeySets +} + +func (m *_NetworkSecurity) GetLastKeyServer() WritableProperty { + return m.LastKeyServer +} + +func (m *_NetworkSecurity) GetSecurityPDUTimeout() WritableProperty { + return m.SecurityPDUTimeout +} + +func (m *_NetworkSecurity) GetUpdateKeySetTimeout() ReadableProperty { + return m.UpdateKeySetTimeout +} + +func (m *_NetworkSecurity) GetSupportedSecurityAlgorithms() ReadableProperty { + return m.SupportedSecurityAlgorithms +} + +func (m *_NetworkSecurity) GetDoNotHide() WritableProperty { + return m.DoNotHide +} + +func (m *_NetworkSecurity) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_NetworkSecurity) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_NetworkSecurity) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_NetworkSecurity) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastNetworkSecurity(structType any) NetworkSecurity { + if casted, ok := structType.(NetworkSecurity); ok { + return casted + } + if casted, ok := structType.(*NetworkSecurity); ok { + return *casted + } + return nil +} + +func (m *_NetworkSecurity) GetTypeName() string { + return "NetworkSecurity" +} + +func (m *_NetworkSecurity) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (baseDeviceSecurityPolicy) + lengthInBits += m.BaseDeviceSecurityPolicy.GetLengthInBits(ctx) + + // Simple field (networkAccessSecurityPolicies) + lengthInBits += m.NetworkAccessSecurityPolicies.GetLengthInBits(ctx) + + // Simple field (securityTimeWindow) + lengthInBits += m.SecurityTimeWindow.GetLengthInBits(ctx) + + // Simple field (packetReorderTime) + lengthInBits += m.PacketReorderTime.GetLengthInBits(ctx) + + // Simple field (distributionKeyRevision) + lengthInBits += m.DistributionKeyRevision.GetLengthInBits(ctx) + + // Simple field (keySets) + lengthInBits += m.KeySets.GetLengthInBits(ctx) + + // Simple field (lastKeyServer) + lengthInBits += m.LastKeyServer.GetLengthInBits(ctx) + + // Simple field (securityPDUTimeout) + lengthInBits += m.SecurityPDUTimeout.GetLengthInBits(ctx) + + // Simple field (updateKeySetTimeout) + lengthInBits += m.UpdateKeySetTimeout.GetLengthInBits(ctx) + + // Simple field (supportedSecurityAlgorithms) + lengthInBits += m.SupportedSecurityAlgorithms.GetLengthInBits(ctx) + + // Simple field (doNotHide) + lengthInBits += m.DoNotHide.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_NetworkSecurity) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func NetworkSecurityParse(ctx context.Context, theBytes []byte) (NetworkSecurity, error) { + return NetworkSecurityParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func NetworkSecurityParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (NetworkSecurity, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (NetworkSecurity, error) { + return NetworkSecurityParseWithBuffer(ctx, readBuffer) + } +} + +func NetworkSecurityParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (NetworkSecurity, error) { + v, err := (&_NetworkSecurity{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_NetworkSecurity) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__networkSecurity NetworkSecurity, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("NetworkSecurity"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for NetworkSecurity") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + baseDeviceSecurityPolicy, err := ReadSimpleField[WritableProperty](ctx, "baseDeviceSecurityPolicy", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetSecurityLevel")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'baseDeviceSecurityPolicy' field")) + } + m.BaseDeviceSecurityPolicy = baseDeviceSecurityPolicy + + networkAccessSecurityPolicies, err := ReadSimpleField[WritableProperty](ctx, "networkAccessSecurityPolicies", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNetworkSecurityPolicy")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'networkAccessSecurityPolicies' field")) + } + m.NetworkAccessSecurityPolicies = networkAccessSecurityPolicies + + securityTimeWindow, err := ReadSimpleField[WritableProperty](ctx, "securityTimeWindow", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'securityTimeWindow' field")) + } + m.SecurityTimeWindow = securityTimeWindow + + packetReorderTime, err := ReadSimpleField[WritableProperty](ctx, "packetReorderTime", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'packetReorderTime' field")) + } + m.PacketReorderTime = packetReorderTime + + distributionKeyRevision, err := ReadSimpleField[ReadableProperty](ctx, "distributionKeyRevision", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'distributionKeyRevision' field")) + } + m.DistributionKeyRevision = distributionKeyRevision + + keySets, err := ReadSimpleField[ReadableProperty](ctx, "keySets", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[2] of BACnetSecurityKeySet")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'keySets' field")) + } + m.KeySets = keySets + + lastKeyServer, err := ReadSimpleField[WritableProperty](ctx, "lastKeyServer", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetAddressBinding")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastKeyServer' field")) + } + m.LastKeyServer = lastKeyServer + + securityPDUTimeout, err := ReadSimpleField[WritableProperty](ctx, "securityPDUTimeout", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'securityPDUTimeout' field")) + } + m.SecurityPDUTimeout = securityPDUTimeout + + updateKeySetTimeout, err := ReadSimpleField[ReadableProperty](ctx, "updateKeySetTimeout", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned16")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'updateKeySetTimeout' field")) + } + m.UpdateKeySetTimeout = updateKeySetTimeout + + supportedSecurityAlgorithms, err := ReadSimpleField[ReadableProperty](ctx, "supportedSecurityAlgorithms", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of Unsigned8")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'supportedSecurityAlgorithms' field")) + } + m.SupportedSecurityAlgorithms = supportedSecurityAlgorithms + + doNotHide, err := ReadSimpleField[WritableProperty](ctx, "doNotHide", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'doNotHide' field")) + } + m.DoNotHide = doNotHide + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("NetworkSecurity"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for NetworkSecurity") + } + + return m, nil +} + +func (m *_NetworkSecurity) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_NetworkSecurity) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("NetworkSecurity"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for NetworkSecurity") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "baseDeviceSecurityPolicy", m.GetBaseDeviceSecurityPolicy(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'baseDeviceSecurityPolicy' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "networkAccessSecurityPolicies", m.GetNetworkAccessSecurityPolicies(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'networkAccessSecurityPolicies' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "securityTimeWindow", m.GetSecurityTimeWindow(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'securityTimeWindow' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "packetReorderTime", m.GetPacketReorderTime(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'packetReorderTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "distributionKeyRevision", m.GetDistributionKeyRevision(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'distributionKeyRevision' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "keySets", m.GetKeySets(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'keySets' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "lastKeyServer", m.GetLastKeyServer(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastKeyServer' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "securityPDUTimeout", m.GetSecurityPDUTimeout(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'securityPDUTimeout' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "updateKeySetTimeout", m.GetUpdateKeySetTimeout(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'updateKeySetTimeout' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "supportedSecurityAlgorithms", m.GetSupportedSecurityAlgorithms(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'supportedSecurityAlgorithms' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "doNotHide", m.GetDoNotHide(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'doNotHide' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("NetworkSecurity"); popErr != nil { + return errors.Wrap(popErr, "Error popping for NetworkSecurity") + } + return nil +} + +func (m *_NetworkSecurity) IsNetworkSecurity() {} + +func (m *_NetworkSecurity) DeepCopy() any { + return m.deepCopy() +} + +func (m *_NetworkSecurity) deepCopy() *_NetworkSecurity { + if m == nil { + return nil + } + _NetworkSecurityCopy := &_NetworkSecurity{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.BaseDeviceSecurityPolicy.DeepCopy().(WritableProperty), + m.NetworkAccessSecurityPolicies.DeepCopy().(WritableProperty), + m.SecurityTimeWindow.DeepCopy().(WritableProperty), + m.PacketReorderTime.DeepCopy().(WritableProperty), + m.DistributionKeyRevision.DeepCopy().(ReadableProperty), + m.KeySets.DeepCopy().(ReadableProperty), + m.LastKeyServer.DeepCopy().(WritableProperty), + m.SecurityPDUTimeout.DeepCopy().(WritableProperty), + m.UpdateKeySetTimeout.DeepCopy().(ReadableProperty), + m.SupportedSecurityAlgorithms.DeepCopy().(ReadableProperty), + m.DoNotHide.DeepCopy().(WritableProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _NetworkSecurityCopy +} + +func (m *_NetworkSecurity) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/NotificationClass.go b/plc4go/protocols/bacnetip/readwrite/model/NotificationClass.go new file mode 100644 index 00000000000..cb9001aa8ac --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/NotificationClass.go @@ -0,0 +1,1444 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// NotificationClass is the corresponding interface of NotificationClass +type NotificationClass interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() ReadableProperty + // GetPriority returns Priority (property field) + GetPriority() ReadableProperty + // GetAckRequired returns AckRequired (property field) + GetAckRequired() ReadableProperty + // GetRecipientList returns RecipientList (property field) + GetRecipientList() ReadableProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsNotificationClass is a marker method to prevent unintentional type checks (interfaces of same signature) + IsNotificationClass() + // CreateBuilder creates a NotificationClassBuilder + CreateNotificationClassBuilder() NotificationClassBuilder +} + +// _NotificationClass is the data-structure of this message +type _NotificationClass struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + NotificationClass ReadableProperty + Priority ReadableProperty + AckRequired ReadableProperty + RecipientList ReadableProperty + PropertyList ReadableProperty + StatusFlags OptionalProperty + EventState OptionalProperty + Reliability OptionalProperty + EventDetectionEnable OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ NotificationClass = (*_NotificationClass)(nil) + +// NewNotificationClass factory function for _NotificationClass +func NewNotificationClass(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, notificationClass ReadableProperty, priority ReadableProperty, ackRequired ReadableProperty, recipientList ReadableProperty, propertyList ReadableProperty, statusFlags OptionalProperty, eventState OptionalProperty, reliability OptionalProperty, eventDetectionEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_NotificationClass { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for NotificationClass must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for NotificationClass must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for NotificationClass must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for NotificationClass must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type ReadableProperty for NotificationClass must not be nil") + } + if priority == nil { + panic("priority of type ReadableProperty for NotificationClass must not be nil") + } + if ackRequired == nil { + panic("ackRequired of type ReadableProperty for NotificationClass must not be nil") + } + if recipientList == nil { + panic("recipientList of type ReadableProperty for NotificationClass must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for NotificationClass must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type OptionalProperty for NotificationClass must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for NotificationClass must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for NotificationClass must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for NotificationClass must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for NotificationClass must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for NotificationClass must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for NotificationClass must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for NotificationClass must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for NotificationClass must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for NotificationClass must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for NotificationClass must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for NotificationClass must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for NotificationClass must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for NotificationClass must not be nil") + } + return &_NotificationClass{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, NotificationClass: notificationClass, Priority: priority, AckRequired: ackRequired, RecipientList: recipientList, PropertyList: propertyList, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, EventDetectionEnable: eventDetectionEnable, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// NotificationClassBuilder is a builder for NotificationClass +type NotificationClassBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, notificationClass ReadableProperty, priority ReadableProperty, ackRequired ReadableProperty, recipientList ReadableProperty, propertyList ReadableProperty, statusFlags OptionalProperty, eventState OptionalProperty, reliability OptionalProperty, eventDetectionEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) NotificationClassBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) NotificationClassBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) NotificationClassBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) NotificationClassBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) NotificationClassBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(ReadableProperty) NotificationClassBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder + // WithPriority adds Priority (property field) + WithPriority(ReadableProperty) NotificationClassBuilder + // WithPriorityBuilder adds Priority (property field) which is build by the builder + WithPriorityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder + // WithAckRequired adds AckRequired (property field) + WithAckRequired(ReadableProperty) NotificationClassBuilder + // WithAckRequiredBuilder adds AckRequired (property field) which is build by the builder + WithAckRequiredBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder + // WithRecipientList adds RecipientList (property field) + WithRecipientList(ReadableProperty) NotificationClassBuilder + // WithRecipientListBuilder adds RecipientList (property field) which is build by the builder + WithRecipientListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) NotificationClassBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(OptionalProperty) NotificationClassBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) NotificationClassBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) NotificationClassBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) NotificationClassBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) NotificationClassBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) NotificationClassBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) NotificationClassBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) NotificationClassBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) NotificationClassBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) NotificationClassBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) NotificationClassBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) NotificationClassBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) NotificationClassBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) NotificationClassBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder + // Build builds the NotificationClass or returns an error if something is wrong + Build() (NotificationClass, error) + // MustBuild does the same as Build but panics on error + MustBuild() NotificationClass +} + +// NewNotificationClassBuilder() creates a NotificationClassBuilder +func NewNotificationClassBuilder() NotificationClassBuilder { + return &_NotificationClassBuilder{_NotificationClass: new(_NotificationClass)} +} + +type _NotificationClassBuilder struct { + *_NotificationClass + + err *utils.MultiError +} + +var _ (NotificationClassBuilder) = (*_NotificationClassBuilder)(nil) + +func (b *_NotificationClassBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, notificationClass ReadableProperty, priority ReadableProperty, ackRequired ReadableProperty, recipientList ReadableProperty, propertyList ReadableProperty, statusFlags OptionalProperty, eventState OptionalProperty, reliability OptionalProperty, eventDetectionEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) NotificationClassBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithNotificationClass(notificationClass).WithPriority(priority).WithAckRequired(ackRequired).WithRecipientList(recipientList).WithPropertyList(propertyList).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithEventDetectionEnable(eventDetectionEnable).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_NotificationClassBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) NotificationClassBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_NotificationClassBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithObjectName(objectName ReadableProperty) NotificationClassBuilder { + b.ObjectName = objectName + return b +} + +func (b *_NotificationClassBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithObjectType(objectType ReadableProperty) NotificationClassBuilder { + b.ObjectType = objectType + return b +} + +func (b *_NotificationClassBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithDescription(description OptionalProperty) NotificationClassBuilder { + b.Description = description + return b +} + +func (b *_NotificationClassBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithNotificationClass(notificationClass ReadableProperty) NotificationClassBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_NotificationClassBuilder) WithNotificationClassBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.NotificationClass.CreateReadablePropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithPriority(priority ReadableProperty) NotificationClassBuilder { + b.Priority = priority + return b +} + +func (b *_NotificationClassBuilder) WithPriorityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.Priority.CreateReadablePropertyBuilder()) + var err error + b.Priority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithAckRequired(ackRequired ReadableProperty) NotificationClassBuilder { + b.AckRequired = ackRequired + return b +} + +func (b *_NotificationClassBuilder) WithAckRequiredBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.AckRequired.CreateReadablePropertyBuilder()) + var err error + b.AckRequired, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithRecipientList(recipientList ReadableProperty) NotificationClassBuilder { + b.RecipientList = recipientList + return b +} + +func (b *_NotificationClassBuilder) WithRecipientListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.RecipientList.CreateReadablePropertyBuilder()) + var err error + b.RecipientList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithPropertyList(propertyList ReadableProperty) NotificationClassBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_NotificationClassBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithStatusFlags(statusFlags OptionalProperty) NotificationClassBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_NotificationClassBuilder) WithStatusFlagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.StatusFlags.CreateOptionalPropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithEventState(eventState OptionalProperty) NotificationClassBuilder { + b.EventState = eventState + return b +} + +func (b *_NotificationClassBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithReliability(reliability OptionalProperty) NotificationClassBuilder { + b.Reliability = reliability + return b +} + +func (b *_NotificationClassBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) NotificationClassBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_NotificationClassBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithEventEnable(eventEnable OptionalProperty) NotificationClassBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_NotificationClassBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) NotificationClassBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_NotificationClassBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithNotifyType(notifyType OptionalProperty) NotificationClassBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_NotificationClassBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) NotificationClassBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_NotificationClassBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) NotificationClassBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_NotificationClassBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) NotificationClassBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_NotificationClassBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) NotificationClassBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_NotificationClassBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithTags(tags OptionalProperty) NotificationClassBuilder { + b.Tags = tags + return b +} + +func (b *_NotificationClassBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithProfileLocation(profileLocation OptionalProperty) NotificationClassBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_NotificationClassBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) WithProfileName(profileName OptionalProperty) NotificationClassBuilder { + b.ProfileName = profileName + return b +} + +func (b *_NotificationClassBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationClassBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationClassBuilder) Build() (NotificationClass, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.Priority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priority' not set")) + } + if b.AckRequired == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackRequired' not set")) + } + if b.RecipientList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'recipientList' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._NotificationClass.deepCopy(), nil +} + +func (b *_NotificationClassBuilder) MustBuild() NotificationClass { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_NotificationClassBuilder) DeepCopy() any { + _copy := b.CreateNotificationClassBuilder().(*_NotificationClassBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateNotificationClassBuilder creates a NotificationClassBuilder +func (b *_NotificationClass) CreateNotificationClassBuilder() NotificationClassBuilder { + if b == nil { + return NewNotificationClassBuilder() + } + return &_NotificationClassBuilder{_NotificationClass: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_NotificationClass) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_NotificationClass) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_NotificationClass) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_NotificationClass) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_NotificationClass) GetNotificationClass() ReadableProperty { + return m.NotificationClass +} + +func (m *_NotificationClass) GetPriority() ReadableProperty { + return m.Priority +} + +func (m *_NotificationClass) GetAckRequired() ReadableProperty { + return m.AckRequired +} + +func (m *_NotificationClass) GetRecipientList() ReadableProperty { + return m.RecipientList +} + +func (m *_NotificationClass) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_NotificationClass) GetStatusFlags() OptionalProperty { + return m.StatusFlags +} + +func (m *_NotificationClass) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_NotificationClass) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_NotificationClass) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_NotificationClass) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_NotificationClass) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_NotificationClass) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_NotificationClass) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_NotificationClass) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_NotificationClass) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_NotificationClass) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_NotificationClass) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_NotificationClass) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_NotificationClass) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastNotificationClass(structType any) NotificationClass { + if casted, ok := structType.(NotificationClass); ok { + return casted + } + if casted, ok := structType.(*NotificationClass); ok { + return *casted + } + return nil +} + +func (m *_NotificationClass) GetTypeName() string { + return "NotificationClass" +} + +func (m *_NotificationClass) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (priority) + lengthInBits += m.Priority.GetLengthInBits(ctx) + + // Simple field (ackRequired) + lengthInBits += m.AckRequired.GetLengthInBits(ctx) + + // Simple field (recipientList) + lengthInBits += m.RecipientList.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_NotificationClass) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func NotificationClassParse(ctx context.Context, theBytes []byte) (NotificationClass, error) { + return NotificationClassParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func NotificationClassParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (NotificationClass, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (NotificationClass, error) { + return NotificationClassParseWithBuffer(ctx, readBuffer) + } +} + +func NotificationClassParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (NotificationClass, error) { + v, err := (&_NotificationClass{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_NotificationClass) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__notificationClass NotificationClass, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("NotificationClass"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for NotificationClass") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + notificationClass, err := ReadSimpleField[ReadableProperty](ctx, "notificationClass", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + priority, err := ReadSimpleField[ReadableProperty](ctx, "priority", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[3] of Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priority' field")) + } + m.Priority = priority + + ackRequired, err := ReadSimpleField[ReadableProperty](ctx, "ackRequired", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackRequired' field")) + } + m.AckRequired = ackRequired + + recipientList, err := ReadSimpleField[ReadableProperty](ctx, "recipientList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDestination")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'recipientList' field")) + } + m.RecipientList = recipientList + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + statusFlags, err := ReadSimpleField[OptionalProperty](ctx, "statusFlags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("NotificationClass"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for NotificationClass") + } + + return m, nil +} + +func (m *_NotificationClass) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_NotificationClass) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("NotificationClass"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for NotificationClass") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priority", m.GetPriority(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priority' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "ackRequired", m.GetAckRequired(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackRequired' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "recipientList", m.GetRecipientList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'recipientList' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("NotificationClass"); popErr != nil { + return errors.Wrap(popErr, "Error popping for NotificationClass") + } + return nil +} + +func (m *_NotificationClass) IsNotificationClass() {} + +func (m *_NotificationClass) DeepCopy() any { + return m.deepCopy() +} + +func (m *_NotificationClass) deepCopy() *_NotificationClass { + if m == nil { + return nil + } + _NotificationClassCopy := &_NotificationClass{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(ReadableProperty), + m.Priority.DeepCopy().(ReadableProperty), + m.AckRequired.DeepCopy().(ReadableProperty), + m.RecipientList.DeepCopy().(ReadableProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _NotificationClassCopy +} + +func (m *_NotificationClass) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/NotificationForwarder.go b/plc4go/protocols/bacnetip/readwrite/model/NotificationForwarder.go new file mode 100644 index 00000000000..c2ad4458e15 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/NotificationForwarder.go @@ -0,0 +1,1132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// NotificationForwarder is the corresponding interface of NotificationForwarder +type NotificationForwarder interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetRecipientList returns RecipientList (property field) + GetRecipientList() ReadableProperty + // GetSubscribedRecipients returns SubscribedRecipients (property field) + GetSubscribedRecipients() WritableProperty + // GetProcessIdentifierFilter returns ProcessIdentifierFilter (property field) + GetProcessIdentifierFilter() ReadableProperty + // GetPortFilter returns PortFilter (property field) + GetPortFilter() OptionalProperty + // GetLocalForwardingOnly returns LocalForwardingOnly (property field) + GetLocalForwardingOnly() ReadableProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsNotificationForwarder is a marker method to prevent unintentional type checks (interfaces of same signature) + IsNotificationForwarder() + // CreateBuilder creates a NotificationForwarderBuilder + CreateNotificationForwarderBuilder() NotificationForwarderBuilder +} + +// _NotificationForwarder is the data-structure of this message +type _NotificationForwarder struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + Reliability ReadableProperty + OutOfService ReadableProperty + RecipientList ReadableProperty + SubscribedRecipients WritableProperty + ProcessIdentifierFilter ReadableProperty + PortFilter OptionalProperty + LocalForwardingOnly ReadableProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ NotificationForwarder = (*_NotificationForwarder)(nil) + +// NewNotificationForwarder factory function for _NotificationForwarder +func NewNotificationForwarder(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, recipientList ReadableProperty, subscribedRecipients WritableProperty, processIdentifierFilter ReadableProperty, portFilter OptionalProperty, localForwardingOnly ReadableProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_NotificationForwarder { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for NotificationForwarder must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for NotificationForwarder must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for NotificationForwarder must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for NotificationForwarder must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for NotificationForwarder must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for NotificationForwarder must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for NotificationForwarder must not be nil") + } + if recipientList == nil { + panic("recipientList of type ReadableProperty for NotificationForwarder must not be nil") + } + if subscribedRecipients == nil { + panic("subscribedRecipients of type WritableProperty for NotificationForwarder must not be nil") + } + if processIdentifierFilter == nil { + panic("processIdentifierFilter of type ReadableProperty for NotificationForwarder must not be nil") + } + if portFilter == nil { + panic("portFilter of type OptionalProperty for NotificationForwarder must not be nil") + } + if localForwardingOnly == nil { + panic("localForwardingOnly of type ReadableProperty for NotificationForwarder must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for NotificationForwarder must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for NotificationForwarder must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for NotificationForwarder must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for NotificationForwarder must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for NotificationForwarder must not be nil") + } + return &_NotificationForwarder{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, StatusFlags: statusFlags, Reliability: reliability, OutOfService: outOfService, RecipientList: recipientList, SubscribedRecipients: subscribedRecipients, ProcessIdentifierFilter: processIdentifierFilter, PortFilter: portFilter, LocalForwardingOnly: localForwardingOnly, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// NotificationForwarderBuilder is a builder for NotificationForwarder +type NotificationForwarderBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, recipientList ReadableProperty, subscribedRecipients WritableProperty, processIdentifierFilter ReadableProperty, portFilter OptionalProperty, localForwardingOnly ReadableProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) NotificationForwarderBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) NotificationForwarderBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) NotificationForwarderBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) NotificationForwarderBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) NotificationForwarderBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) NotificationForwarderBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) NotificationForwarderBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) NotificationForwarderBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithRecipientList adds RecipientList (property field) + WithRecipientList(ReadableProperty) NotificationForwarderBuilder + // WithRecipientListBuilder adds RecipientList (property field) which is build by the builder + WithRecipientListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithSubscribedRecipients adds SubscribedRecipients (property field) + WithSubscribedRecipients(WritableProperty) NotificationForwarderBuilder + // WithSubscribedRecipientsBuilder adds SubscribedRecipients (property field) which is build by the builder + WithSubscribedRecipientsBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) NotificationForwarderBuilder + // WithProcessIdentifierFilter adds ProcessIdentifierFilter (property field) + WithProcessIdentifierFilter(ReadableProperty) NotificationForwarderBuilder + // WithProcessIdentifierFilterBuilder adds ProcessIdentifierFilter (property field) which is build by the builder + WithProcessIdentifierFilterBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithPortFilter adds PortFilter (property field) + WithPortFilter(OptionalProperty) NotificationForwarderBuilder + // WithPortFilterBuilder adds PortFilter (property field) which is build by the builder + WithPortFilterBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder + // WithLocalForwardingOnly adds LocalForwardingOnly (property field) + WithLocalForwardingOnly(ReadableProperty) NotificationForwarderBuilder + // WithLocalForwardingOnlyBuilder adds LocalForwardingOnly (property field) which is build by the builder + WithLocalForwardingOnlyBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) NotificationForwarderBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) NotificationForwarderBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) NotificationForwarderBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) NotificationForwarderBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) NotificationForwarderBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder + // Build builds the NotificationForwarder or returns an error if something is wrong + Build() (NotificationForwarder, error) + // MustBuild does the same as Build but panics on error + MustBuild() NotificationForwarder +} + +// NewNotificationForwarderBuilder() creates a NotificationForwarderBuilder +func NewNotificationForwarderBuilder() NotificationForwarderBuilder { + return &_NotificationForwarderBuilder{_NotificationForwarder: new(_NotificationForwarder)} +} + +type _NotificationForwarderBuilder struct { + *_NotificationForwarder + + err *utils.MultiError +} + +var _ (NotificationForwarderBuilder) = (*_NotificationForwarderBuilder)(nil) + +func (b *_NotificationForwarderBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, recipientList ReadableProperty, subscribedRecipients WritableProperty, processIdentifierFilter ReadableProperty, portFilter OptionalProperty, localForwardingOnly ReadableProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) NotificationForwarderBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithStatusFlags(statusFlags).WithReliability(reliability).WithOutOfService(outOfService).WithRecipientList(recipientList).WithSubscribedRecipients(subscribedRecipients).WithProcessIdentifierFilter(processIdentifierFilter).WithPortFilter(portFilter).WithLocalForwardingOnly(localForwardingOnly).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_NotificationForwarderBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) NotificationForwarderBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_NotificationForwarderBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithObjectName(objectName ReadableProperty) NotificationForwarderBuilder { + b.ObjectName = objectName + return b +} + +func (b *_NotificationForwarderBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithObjectType(objectType ReadableProperty) NotificationForwarderBuilder { + b.ObjectType = objectType + return b +} + +func (b *_NotificationForwarderBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithDescription(description OptionalProperty) NotificationForwarderBuilder { + b.Description = description + return b +} + +func (b *_NotificationForwarderBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithStatusFlags(statusFlags ReadableProperty) NotificationForwarderBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_NotificationForwarderBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithReliability(reliability ReadableProperty) NotificationForwarderBuilder { + b.Reliability = reliability + return b +} + +func (b *_NotificationForwarderBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithOutOfService(outOfService ReadableProperty) NotificationForwarderBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_NotificationForwarderBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithRecipientList(recipientList ReadableProperty) NotificationForwarderBuilder { + b.RecipientList = recipientList + return b +} + +func (b *_NotificationForwarderBuilder) WithRecipientListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.RecipientList.CreateReadablePropertyBuilder()) + var err error + b.RecipientList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithSubscribedRecipients(subscribedRecipients WritableProperty) NotificationForwarderBuilder { + b.SubscribedRecipients = subscribedRecipients + return b +} + +func (b *_NotificationForwarderBuilder) WithSubscribedRecipientsBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.SubscribedRecipients.CreateWritablePropertyBuilder()) + var err error + b.SubscribedRecipients, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithProcessIdentifierFilter(processIdentifierFilter ReadableProperty) NotificationForwarderBuilder { + b.ProcessIdentifierFilter = processIdentifierFilter + return b +} + +func (b *_NotificationForwarderBuilder) WithProcessIdentifierFilterBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.ProcessIdentifierFilter.CreateReadablePropertyBuilder()) + var err error + b.ProcessIdentifierFilter, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithPortFilter(portFilter OptionalProperty) NotificationForwarderBuilder { + b.PortFilter = portFilter + return b +} + +func (b *_NotificationForwarderBuilder) WithPortFilterBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.PortFilter.CreateOptionalPropertyBuilder()) + var err error + b.PortFilter, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithLocalForwardingOnly(localForwardingOnly ReadableProperty) NotificationForwarderBuilder { + b.LocalForwardingOnly = localForwardingOnly + return b +} + +func (b *_NotificationForwarderBuilder) WithLocalForwardingOnlyBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.LocalForwardingOnly.CreateReadablePropertyBuilder()) + var err error + b.LocalForwardingOnly, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) NotificationForwarderBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_NotificationForwarderBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithPropertyList(propertyList ReadableProperty) NotificationForwarderBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_NotificationForwarderBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithTags(tags OptionalProperty) NotificationForwarderBuilder { + b.Tags = tags + return b +} + +func (b *_NotificationForwarderBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithProfileLocation(profileLocation OptionalProperty) NotificationForwarderBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_NotificationForwarderBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) WithProfileName(profileName OptionalProperty) NotificationForwarderBuilder { + b.ProfileName = profileName + return b +} + +func (b *_NotificationForwarderBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) NotificationForwarderBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_NotificationForwarderBuilder) Build() (NotificationForwarder, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.RecipientList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'recipientList' not set")) + } + if b.SubscribedRecipients == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'subscribedRecipients' not set")) + } + if b.ProcessIdentifierFilter == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'processIdentifierFilter' not set")) + } + if b.PortFilter == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'portFilter' not set")) + } + if b.LocalForwardingOnly == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'localForwardingOnly' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._NotificationForwarder.deepCopy(), nil +} + +func (b *_NotificationForwarderBuilder) MustBuild() NotificationForwarder { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_NotificationForwarderBuilder) DeepCopy() any { + _copy := b.CreateNotificationForwarderBuilder().(*_NotificationForwarderBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateNotificationForwarderBuilder creates a NotificationForwarderBuilder +func (b *_NotificationForwarder) CreateNotificationForwarderBuilder() NotificationForwarderBuilder { + if b == nil { + return NewNotificationForwarderBuilder() + } + return &_NotificationForwarderBuilder{_NotificationForwarder: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_NotificationForwarder) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_NotificationForwarder) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_NotificationForwarder) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_NotificationForwarder) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_NotificationForwarder) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_NotificationForwarder) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_NotificationForwarder) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_NotificationForwarder) GetRecipientList() ReadableProperty { + return m.RecipientList +} + +func (m *_NotificationForwarder) GetSubscribedRecipients() WritableProperty { + return m.SubscribedRecipients +} + +func (m *_NotificationForwarder) GetProcessIdentifierFilter() ReadableProperty { + return m.ProcessIdentifierFilter +} + +func (m *_NotificationForwarder) GetPortFilter() OptionalProperty { + return m.PortFilter +} + +func (m *_NotificationForwarder) GetLocalForwardingOnly() ReadableProperty { + return m.LocalForwardingOnly +} + +func (m *_NotificationForwarder) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_NotificationForwarder) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_NotificationForwarder) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_NotificationForwarder) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_NotificationForwarder) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastNotificationForwarder(structType any) NotificationForwarder { + if casted, ok := structType.(NotificationForwarder); ok { + return casted + } + if casted, ok := structType.(*NotificationForwarder); ok { + return *casted + } + return nil +} + +func (m *_NotificationForwarder) GetTypeName() string { + return "NotificationForwarder" +} + +func (m *_NotificationForwarder) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (recipientList) + lengthInBits += m.RecipientList.GetLengthInBits(ctx) + + // Simple field (subscribedRecipients) + lengthInBits += m.SubscribedRecipients.GetLengthInBits(ctx) + + // Simple field (processIdentifierFilter) + lengthInBits += m.ProcessIdentifierFilter.GetLengthInBits(ctx) + + // Simple field (portFilter) + lengthInBits += m.PortFilter.GetLengthInBits(ctx) + + // Simple field (localForwardingOnly) + lengthInBits += m.LocalForwardingOnly.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_NotificationForwarder) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func NotificationForwarderParse(ctx context.Context, theBytes []byte) (NotificationForwarder, error) { + return NotificationForwarderParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func NotificationForwarderParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (NotificationForwarder, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (NotificationForwarder, error) { + return NotificationForwarderParseWithBuffer(ctx, readBuffer) + } +} + +func NotificationForwarderParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (NotificationForwarder, error) { + v, err := (&_NotificationForwarder{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_NotificationForwarder) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__notificationForwarder NotificationForwarder, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("NotificationForwarder"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for NotificationForwarder") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + recipientList, err := ReadSimpleField[ReadableProperty](ctx, "recipientList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDestination")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'recipientList' field")) + } + m.RecipientList = recipientList + + subscribedRecipients, err := ReadSimpleField[WritableProperty](ctx, "subscribedRecipients", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetEventNotificationSubscription")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'subscribedRecipients' field")) + } + m.SubscribedRecipients = subscribedRecipients + + processIdentifierFilter, err := ReadSimpleField[ReadableProperty](ctx, "processIdentifierFilter", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetProcessIdSelection")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'processIdentifierFilter' field")) + } + m.ProcessIdentifierFilter = processIdentifierFilter + + portFilter, err := ReadSimpleField[OptionalProperty](ctx, "portFilter", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPortPermission")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'portFilter' field")) + } + m.PortFilter = portFilter + + localForwardingOnly, err := ReadSimpleField[ReadableProperty](ctx, "localForwardingOnly", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'localForwardingOnly' field")) + } + m.LocalForwardingOnly = localForwardingOnly + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("NotificationForwarder"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for NotificationForwarder") + } + + return m, nil +} + +func (m *_NotificationForwarder) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_NotificationForwarder) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("NotificationForwarder"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for NotificationForwarder") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "recipientList", m.GetRecipientList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'recipientList' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "subscribedRecipients", m.GetSubscribedRecipients(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'subscribedRecipients' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "processIdentifierFilter", m.GetProcessIdentifierFilter(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'processIdentifierFilter' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "portFilter", m.GetPortFilter(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'portFilter' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "localForwardingOnly", m.GetLocalForwardingOnly(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'localForwardingOnly' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("NotificationForwarder"); popErr != nil { + return errors.Wrap(popErr, "Error popping for NotificationForwarder") + } + return nil +} + +func (m *_NotificationForwarder) IsNotificationForwarder() {} + +func (m *_NotificationForwarder) DeepCopy() any { + return m.deepCopy() +} + +func (m *_NotificationForwarder) deepCopy() *_NotificationForwarder { + if m == nil { + return nil + } + _NotificationForwarderCopy := &_NotificationForwarder{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.RecipientList.DeepCopy().(ReadableProperty), + m.SubscribedRecipients.DeepCopy().(WritableProperty), + m.ProcessIdentifierFilter.DeepCopy().(ReadableProperty), + m.PortFilter.DeepCopy().(OptionalProperty), + m.LocalForwardingOnly.DeepCopy().(ReadableProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _NotificationForwarderCopy +} + +func (m *_NotificationForwarder) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/OctetStringValue.go b/plc4go/protocols/bacnetip/readwrite/model/OctetStringValue.go new file mode 100644 index 00000000000..188835430f5 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/OctetStringValue.go @@ -0,0 +1,1340 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// OctetStringValue is the corresponding interface of OctetStringValue +type OctetStringValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsOctetStringValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsOctetStringValue() + // CreateBuilder creates a OctetStringValueBuilder + CreateOctetStringValueBuilder() OctetStringValueBuilder +} + +// _OctetStringValue is the data-structure of this message +type _OctetStringValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ OctetStringValue = (*_OctetStringValue)(nil) + +// NewOctetStringValue factory function for _OctetStringValue +func NewOctetStringValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_OctetStringValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for OctetStringValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for OctetStringValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for OctetStringValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for OctetStringValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for OctetStringValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for OctetStringValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for OctetStringValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for OctetStringValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for OctetStringValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for OctetStringValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for OctetStringValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for OctetStringValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for OctetStringValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for OctetStringValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for OctetStringValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for OctetStringValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for OctetStringValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for OctetStringValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for OctetStringValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for OctetStringValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for OctetStringValue must not be nil") + } + return &_OctetStringValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// OctetStringValueBuilder is a builder for OctetStringValue +type OctetStringValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) OctetStringValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) OctetStringValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) OctetStringValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) OctetStringValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) OctetStringValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) OctetStringValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) OctetStringValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) OctetStringValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) OctetStringValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) OctetStringValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) OctetStringValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) OctetStringValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) OctetStringValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) OctetStringValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) OctetStringValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) OctetStringValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) OctetStringValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) OctetStringValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) OctetStringValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) OctetStringValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) OctetStringValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) OctetStringValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder + // Build builds the OctetStringValue or returns an error if something is wrong + Build() (OctetStringValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() OctetStringValue +} + +// NewOctetStringValueBuilder() creates a OctetStringValueBuilder +func NewOctetStringValueBuilder() OctetStringValueBuilder { + return &_OctetStringValueBuilder{_OctetStringValue: new(_OctetStringValue)} +} + +type _OctetStringValueBuilder struct { + *_OctetStringValue + + err *utils.MultiError +} + +var _ (OctetStringValueBuilder) = (*_OctetStringValueBuilder)(nil) + +func (b *_OctetStringValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) OctetStringValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_OctetStringValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) OctetStringValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_OctetStringValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithObjectName(objectName ReadableProperty) OctetStringValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_OctetStringValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithObjectType(objectType ReadableProperty) OctetStringValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_OctetStringValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithDescription(description OptionalProperty) OctetStringValueBuilder { + b.Description = description + return b +} + +func (b *_OctetStringValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithPresentValue(presentValue ReadableProperty) OctetStringValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_OctetStringValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithStatusFlags(statusFlags ReadableProperty) OctetStringValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_OctetStringValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithEventState(eventState OptionalProperty) OctetStringValueBuilder { + b.EventState = eventState + return b +} + +func (b *_OctetStringValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithReliability(reliability OptionalProperty) OctetStringValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_OctetStringValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithOutOfService(outOfService OptionalProperty) OctetStringValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_OctetStringValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithPriorityArray(priorityArray OptionalProperty) OctetStringValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_OctetStringValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) OctetStringValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_OctetStringValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) OctetStringValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_OctetStringValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithPropertyList(propertyList ReadableProperty) OctetStringValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_OctetStringValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) OctetStringValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_OctetStringValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithValueSource(valueSource OptionalProperty) OctetStringValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_OctetStringValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) OctetStringValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_OctetStringValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) OctetStringValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_OctetStringValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) OctetStringValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_OctetStringValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithTags(tags OptionalProperty) OctetStringValueBuilder { + b.Tags = tags + return b +} + +func (b *_OctetStringValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithProfileLocation(profileLocation OptionalProperty) OctetStringValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_OctetStringValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) WithProfileName(profileName OptionalProperty) OctetStringValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_OctetStringValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) OctetStringValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_OctetStringValueBuilder) Build() (OctetStringValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._OctetStringValue.deepCopy(), nil +} + +func (b *_OctetStringValueBuilder) MustBuild() OctetStringValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_OctetStringValueBuilder) DeepCopy() any { + _copy := b.CreateOctetStringValueBuilder().(*_OctetStringValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateOctetStringValueBuilder creates a OctetStringValueBuilder +func (b *_OctetStringValue) CreateOctetStringValueBuilder() OctetStringValueBuilder { + if b == nil { + return NewOctetStringValueBuilder() + } + return &_OctetStringValueBuilder{_OctetStringValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_OctetStringValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_OctetStringValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_OctetStringValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_OctetStringValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_OctetStringValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_OctetStringValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_OctetStringValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_OctetStringValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_OctetStringValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_OctetStringValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_OctetStringValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_OctetStringValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_OctetStringValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_OctetStringValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_OctetStringValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_OctetStringValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_OctetStringValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_OctetStringValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_OctetStringValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_OctetStringValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_OctetStringValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastOctetStringValue(structType any) OctetStringValue { + if casted, ok := structType.(OctetStringValue); ok { + return casted + } + if casted, ok := structType.(*OctetStringValue); ok { + return *casted + } + return nil +} + +func (m *_OctetStringValue) GetTypeName() string { + return "OctetStringValue" +} + +func (m *_OctetStringValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_OctetStringValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func OctetStringValueParse(ctx context.Context, theBytes []byte) (OctetStringValue, error) { + return OctetStringValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func OctetStringValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (OctetStringValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (OctetStringValue, error) { + return OctetStringValueParseWithBuffer(ctx, readBuffer) + } +} + +func OctetStringValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (OctetStringValue, error) { + v, err := (&_OctetStringValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_OctetStringValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__octetStringValue OctetStringValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("OctetStringValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for OctetStringValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("OCTET STRING")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("OctetStringValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for OctetStringValue") + } + + return m, nil +} + +func (m *_OctetStringValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_OctetStringValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("OctetStringValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for OctetStringValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("OctetStringValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for OctetStringValue") + } + return nil +} + +func (m *_OctetStringValue) IsOctetStringValue() {} + +func (m *_OctetStringValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_OctetStringValue) deepCopy() *_OctetStringValue { + if m == nil { + return nil + } + _OctetStringValueCopy := &_OctetStringValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _OctetStringValueCopy +} + +func (m *_OctetStringValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/OptionalProperty.go b/plc4go/protocols/bacnetip/readwrite/model/OptionalProperty.go new file mode 100644 index 00000000000..6538c4c5a69 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/OptionalProperty.go @@ -0,0 +1,250 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// OptionalProperty is the corresponding interface of OptionalProperty +type OptionalProperty interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // IsOptionalProperty is a marker method to prevent unintentional type checks (interfaces of same signature) + IsOptionalProperty() + // CreateBuilder creates a OptionalPropertyBuilder + CreateOptionalPropertyBuilder() OptionalPropertyBuilder +} + +// _OptionalProperty is the data-structure of this message +type _OptionalProperty struct { + + // Arguments. + BacType string +} + +var _ OptionalProperty = (*_OptionalProperty)(nil) + +// NewOptionalProperty factory function for _OptionalProperty +func NewOptionalProperty(bacType string) *_OptionalProperty { + return &_OptionalProperty{BacType: bacType} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// OptionalPropertyBuilder is a builder for OptionalProperty +type OptionalPropertyBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields() OptionalPropertyBuilder + // Build builds the OptionalProperty or returns an error if something is wrong + Build() (OptionalProperty, error) + // MustBuild does the same as Build but panics on error + MustBuild() OptionalProperty +} + +// NewOptionalPropertyBuilder() creates a OptionalPropertyBuilder +func NewOptionalPropertyBuilder() OptionalPropertyBuilder { + return &_OptionalPropertyBuilder{_OptionalProperty: new(_OptionalProperty)} +} + +type _OptionalPropertyBuilder struct { + *_OptionalProperty + + err *utils.MultiError +} + +var _ (OptionalPropertyBuilder) = (*_OptionalPropertyBuilder)(nil) + +func (b *_OptionalPropertyBuilder) WithMandatoryFields() OptionalPropertyBuilder { + return b +} + +func (b *_OptionalPropertyBuilder) Build() (OptionalProperty, error) { + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._OptionalProperty.deepCopy(), nil +} + +func (b *_OptionalPropertyBuilder) MustBuild() OptionalProperty { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_OptionalPropertyBuilder) DeepCopy() any { + _copy := b.CreateOptionalPropertyBuilder().(*_OptionalPropertyBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateOptionalPropertyBuilder creates a OptionalPropertyBuilder +func (b *_OptionalProperty) CreateOptionalPropertyBuilder() OptionalPropertyBuilder { + if b == nil { + return NewOptionalPropertyBuilder() + } + return &_OptionalPropertyBuilder{_OptionalProperty: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastOptionalProperty(structType any) OptionalProperty { + if casted, ok := structType.(OptionalProperty); ok { + return casted + } + if casted, ok := structType.(*OptionalProperty); ok { + return *casted + } + return nil +} + +func (m *_OptionalProperty) GetTypeName() string { + return "OptionalProperty" +} + +func (m *_OptionalProperty) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + return lengthInBits +} + +func (m *_OptionalProperty) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func OptionalPropertyParse(ctx context.Context, theBytes []byte, bacType string) (OptionalProperty, error) { + return OptionalPropertyParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes), bacType) +} + +func OptionalPropertyParseWithBufferProducer(bacType string) func(ctx context.Context, readBuffer utils.ReadBuffer) (OptionalProperty, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (OptionalProperty, error) { + return OptionalPropertyParseWithBuffer(ctx, readBuffer, bacType) + } +} + +func OptionalPropertyParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, bacType string) (OptionalProperty, error) { + v, err := (&_OptionalProperty{BacType: bacType}).parse(ctx, readBuffer, bacType) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_OptionalProperty) parse(ctx context.Context, readBuffer utils.ReadBuffer, bacType string) (__optionalProperty OptionalProperty, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("OptionalProperty"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for OptionalProperty") + } + currentPos := positionAware.GetPos() + _ = currentPos + + if closeErr := readBuffer.CloseContext("OptionalProperty"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for OptionalProperty") + } + + return m, nil +} + +func (m *_OptionalProperty) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_OptionalProperty) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("OptionalProperty"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for OptionalProperty") + } + + if popErr := writeBuffer.PopContext("OptionalProperty"); popErr != nil { + return errors.Wrap(popErr, "Error popping for OptionalProperty") + } + return nil +} + +//// +// Arguments Getter + +func (m *_OptionalProperty) GetBacType() string { + return m.BacType +} + +// +//// + +func (m *_OptionalProperty) IsOptionalProperty() {} + +func (m *_OptionalProperty) DeepCopy() any { + return m.deepCopy() +} + +func (m *_OptionalProperty) deepCopy() *_OptionalProperty { + if m == nil { + return nil + } + _OptionalPropertyCopy := &_OptionalProperty{ + m.BacType, + } + return _OptionalPropertyCopy +} + +func (m *_OptionalProperty) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/PositiveIntegerValue.go b/plc4go/protocols/bacnetip/readwrite/model/PositiveIntegerValue.go new file mode 100644 index 00000000000..b6d4d6964c3 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/PositiveIntegerValue.go @@ -0,0 +1,2536 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// PositiveIntegerValue is the corresponding interface of PositiveIntegerValue +type PositiveIntegerValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetUnits returns Units (property field) + GetUnits() ReadableProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetCOVIncrement returns COVIncrement (property field) + GetCOVIncrement() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetHighLimit returns HighLimit (property field) + GetHighLimit() OptionalProperty + // GetLowLimit returns LowLimit (property field) + GetLowLimit() OptionalProperty + // GetDeadband returns Deadband (property field) + GetDeadband() OptionalProperty + // GetLimitEnable returns LimitEnable (property field) + GetLimitEnable() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetMinPresValue returns MinPresValue (property field) + GetMinPresValue() OptionalProperty + // GetMaxPresValue returns MaxPresValue (property field) + GetMaxPresValue() OptionalProperty + // GetResolution returns Resolution (property field) + GetResolution() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetFaultHighLimit returns FaultHighLimit (property field) + GetFaultHighLimit() OptionalProperty + // GetFaultLowLimit returns FaultLowLimit (property field) + GetFaultLowLimit() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsPositiveIntegerValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsPositiveIntegerValue() + // CreateBuilder creates a PositiveIntegerValueBuilder + CreatePositiveIntegerValueBuilder() PositiveIntegerValueBuilder +} + +// _PositiveIntegerValue is the data-structure of this message +type _PositiveIntegerValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + Units ReadableProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + COVIncrement OptionalProperty + TimeDelay OptionalProperty + NotificationClass OptionalProperty + HighLimit OptionalProperty + LowLimit OptionalProperty + Deadband OptionalProperty + LimitEnable OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + MinPresValue OptionalProperty + MaxPresValue OptionalProperty + Resolution OptionalProperty + PropertyList ReadableProperty + FaultHighLimit OptionalProperty + FaultLowLimit OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ PositiveIntegerValue = (*_PositiveIntegerValue)(nil) + +// NewPositiveIntegerValue factory function for _PositiveIntegerValue +func NewPositiveIntegerValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_PositiveIntegerValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for PositiveIntegerValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for PositiveIntegerValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for PositiveIntegerValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for PositiveIntegerValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for PositiveIntegerValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if units == nil { + panic("units of type ReadableProperty for PositiveIntegerValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if cOVIncrement == nil { + panic("cOVIncrement of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if highLimit == nil { + panic("highLimit of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if lowLimit == nil { + panic("lowLimit of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if deadband == nil { + panic("deadband of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if limitEnable == nil { + panic("limitEnable of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if minPresValue == nil { + panic("minPresValue of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if maxPresValue == nil { + panic("maxPresValue of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if resolution == nil { + panic("resolution of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for PositiveIntegerValue must not be nil") + } + if faultHighLimit == nil { + panic("faultHighLimit of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if faultLowLimit == nil { + panic("faultLowLimit of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for PositiveIntegerValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for PositiveIntegerValue must not be nil") + } + return &_PositiveIntegerValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Units: units, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, COVIncrement: cOVIncrement, TimeDelay: timeDelay, NotificationClass: notificationClass, HighLimit: highLimit, LowLimit: lowLimit, Deadband: deadband, LimitEnable: limitEnable, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, MinPresValue: minPresValue, MaxPresValue: maxPresValue, Resolution: resolution, PropertyList: propertyList, FaultHighLimit: faultHighLimit, FaultLowLimit: faultLowLimit, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// PositiveIntegerValueBuilder is a builder for PositiveIntegerValue +type PositiveIntegerValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) PositiveIntegerValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) PositiveIntegerValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) PositiveIntegerValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) PositiveIntegerValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) PositiveIntegerValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) PositiveIntegerValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) PositiveIntegerValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) PositiveIntegerValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) PositiveIntegerValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) PositiveIntegerValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithUnits adds Units (property field) + WithUnits(ReadableProperty) PositiveIntegerValueBuilder + // WithUnitsBuilder adds Units (property field) which is build by the builder + WithUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) PositiveIntegerValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) PositiveIntegerValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithCOVIncrement adds COVIncrement (property field) + WithCOVIncrement(OptionalProperty) PositiveIntegerValueBuilder + // WithCOVIncrementBuilder adds COVIncrement (property field) which is build by the builder + WithCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) PositiveIntegerValueBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) PositiveIntegerValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithHighLimit adds HighLimit (property field) + WithHighLimit(OptionalProperty) PositiveIntegerValueBuilder + // WithHighLimitBuilder adds HighLimit (property field) which is build by the builder + WithHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithLowLimit adds LowLimit (property field) + WithLowLimit(OptionalProperty) PositiveIntegerValueBuilder + // WithLowLimitBuilder adds LowLimit (property field) which is build by the builder + WithLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithDeadband adds Deadband (property field) + WithDeadband(OptionalProperty) PositiveIntegerValueBuilder + // WithDeadbandBuilder adds Deadband (property field) which is build by the builder + WithDeadbandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithLimitEnable adds LimitEnable (property field) + WithLimitEnable(OptionalProperty) PositiveIntegerValueBuilder + // WithLimitEnableBuilder adds LimitEnable (property field) which is build by the builder + WithLimitEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) PositiveIntegerValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) PositiveIntegerValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) PositiveIntegerValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) PositiveIntegerValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) PositiveIntegerValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) PositiveIntegerValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) PositiveIntegerValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) PositiveIntegerValueBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) PositiveIntegerValueBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) PositiveIntegerValueBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) PositiveIntegerValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithMinPresValue adds MinPresValue (property field) + WithMinPresValue(OptionalProperty) PositiveIntegerValueBuilder + // WithMinPresValueBuilder adds MinPresValue (property field) which is build by the builder + WithMinPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithMaxPresValue adds MaxPresValue (property field) + WithMaxPresValue(OptionalProperty) PositiveIntegerValueBuilder + // WithMaxPresValueBuilder adds MaxPresValue (property field) which is build by the builder + WithMaxPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithResolution adds Resolution (property field) + WithResolution(OptionalProperty) PositiveIntegerValueBuilder + // WithResolutionBuilder adds Resolution (property field) which is build by the builder + WithResolutionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) PositiveIntegerValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder + // WithFaultHighLimit adds FaultHighLimit (property field) + WithFaultHighLimit(OptionalProperty) PositiveIntegerValueBuilder + // WithFaultHighLimitBuilder adds FaultHighLimit (property field) which is build by the builder + WithFaultHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithFaultLowLimit adds FaultLowLimit (property field) + WithFaultLowLimit(OptionalProperty) PositiveIntegerValueBuilder + // WithFaultLowLimitBuilder adds FaultLowLimit (property field) which is build by the builder + WithFaultLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) PositiveIntegerValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) PositiveIntegerValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) PositiveIntegerValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) PositiveIntegerValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) PositiveIntegerValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) PositiveIntegerValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) PositiveIntegerValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) PositiveIntegerValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder + // Build builds the PositiveIntegerValue or returns an error if something is wrong + Build() (PositiveIntegerValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() PositiveIntegerValue +} + +// NewPositiveIntegerValueBuilder() creates a PositiveIntegerValueBuilder +func NewPositiveIntegerValueBuilder() PositiveIntegerValueBuilder { + return &_PositiveIntegerValueBuilder{_PositiveIntegerValue: new(_PositiveIntegerValue)} +} + +type _PositiveIntegerValueBuilder struct { + *_PositiveIntegerValue + + err *utils.MultiError +} + +var _ (PositiveIntegerValueBuilder) = (*_PositiveIntegerValueBuilder)(nil) + +func (b *_PositiveIntegerValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, units ReadableProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, cOVIncrement OptionalProperty, timeDelay OptionalProperty, notificationClass OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, propertyList ReadableProperty, faultHighLimit OptionalProperty, faultLowLimit OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) PositiveIntegerValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithUnits(units).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithCOVIncrement(cOVIncrement).WithTimeDelay(timeDelay).WithNotificationClass(notificationClass).WithHighLimit(highLimit).WithLowLimit(lowLimit).WithDeadband(deadband).WithLimitEnable(limitEnable).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithMinPresValue(minPresValue).WithMaxPresValue(maxPresValue).WithResolution(resolution).WithPropertyList(propertyList).WithFaultHighLimit(faultHighLimit).WithFaultLowLimit(faultLowLimit).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_PositiveIntegerValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) PositiveIntegerValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_PositiveIntegerValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithObjectName(objectName ReadableProperty) PositiveIntegerValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_PositiveIntegerValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithObjectType(objectType ReadableProperty) PositiveIntegerValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_PositiveIntegerValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithDescription(description OptionalProperty) PositiveIntegerValueBuilder { + b.Description = description + return b +} + +func (b *_PositiveIntegerValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithPresentValue(presentValue ReadableProperty) PositiveIntegerValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_PositiveIntegerValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithStatusFlags(statusFlags ReadableProperty) PositiveIntegerValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_PositiveIntegerValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventState(eventState OptionalProperty) PositiveIntegerValueBuilder { + b.EventState = eventState + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithReliability(reliability OptionalProperty) PositiveIntegerValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_PositiveIntegerValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithOutOfService(outOfService OptionalProperty) PositiveIntegerValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_PositiveIntegerValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithUnits(units ReadableProperty) PositiveIntegerValueBuilder { + b.Units = units + return b +} + +func (b *_PositiveIntegerValueBuilder) WithUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.Units.CreateReadablePropertyBuilder()) + var err error + b.Units, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithPriorityArray(priorityArray OptionalProperty) PositiveIntegerValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_PositiveIntegerValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) PositiveIntegerValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_PositiveIntegerValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithCOVIncrement(cOVIncrement OptionalProperty) PositiveIntegerValueBuilder { + b.COVIncrement = cOVIncrement + return b +} + +func (b *_PositiveIntegerValueBuilder) WithCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.COVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.COVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithTimeDelay(timeDelay OptionalProperty) PositiveIntegerValueBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_PositiveIntegerValueBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithNotificationClass(notificationClass OptionalProperty) PositiveIntegerValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_PositiveIntegerValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithHighLimit(highLimit OptionalProperty) PositiveIntegerValueBuilder { + b.HighLimit = highLimit + return b +} + +func (b *_PositiveIntegerValueBuilder) WithHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.HighLimit.CreateOptionalPropertyBuilder()) + var err error + b.HighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithLowLimit(lowLimit OptionalProperty) PositiveIntegerValueBuilder { + b.LowLimit = lowLimit + return b +} + +func (b *_PositiveIntegerValueBuilder) WithLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.LowLimit.CreateOptionalPropertyBuilder()) + var err error + b.LowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithDeadband(deadband OptionalProperty) PositiveIntegerValueBuilder { + b.Deadband = deadband + return b +} + +func (b *_PositiveIntegerValueBuilder) WithDeadbandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.Deadband.CreateOptionalPropertyBuilder()) + var err error + b.Deadband, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithLimitEnable(limitEnable OptionalProperty) PositiveIntegerValueBuilder { + b.LimitEnable = limitEnable + return b +} + +func (b *_PositiveIntegerValueBuilder) WithLimitEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.LimitEnable.CreateOptionalPropertyBuilder()) + var err error + b.LimitEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventEnable(eventEnable OptionalProperty) PositiveIntegerValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) PositiveIntegerValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_PositiveIntegerValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithNotifyType(notifyType OptionalProperty) PositiveIntegerValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_PositiveIntegerValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) PositiveIntegerValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) PositiveIntegerValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) PositiveIntegerValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) PositiveIntegerValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) PositiveIntegerValueBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) PositiveIntegerValueBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_PositiveIntegerValueBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) PositiveIntegerValueBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_PositiveIntegerValueBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) PositiveIntegerValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_PositiveIntegerValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithMinPresValue(minPresValue OptionalProperty) PositiveIntegerValueBuilder { + b.MinPresValue = minPresValue + return b +} + +func (b *_PositiveIntegerValueBuilder) WithMinPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.MinPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MinPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithMaxPresValue(maxPresValue OptionalProperty) PositiveIntegerValueBuilder { + b.MaxPresValue = maxPresValue + return b +} + +func (b *_PositiveIntegerValueBuilder) WithMaxPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.MaxPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MaxPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithResolution(resolution OptionalProperty) PositiveIntegerValueBuilder { + b.Resolution = resolution + return b +} + +func (b *_PositiveIntegerValueBuilder) WithResolutionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.Resolution.CreateOptionalPropertyBuilder()) + var err error + b.Resolution, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithPropertyList(propertyList ReadableProperty) PositiveIntegerValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_PositiveIntegerValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithFaultHighLimit(faultHighLimit OptionalProperty) PositiveIntegerValueBuilder { + b.FaultHighLimit = faultHighLimit + return b +} + +func (b *_PositiveIntegerValueBuilder) WithFaultHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.FaultHighLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultHighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithFaultLowLimit(faultLowLimit OptionalProperty) PositiveIntegerValueBuilder { + b.FaultLowLimit = faultLowLimit + return b +} + +func (b *_PositiveIntegerValueBuilder) WithFaultLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.FaultLowLimit.CreateOptionalPropertyBuilder()) + var err error + b.FaultLowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) PositiveIntegerValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_PositiveIntegerValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithValueSource(valueSource OptionalProperty) PositiveIntegerValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_PositiveIntegerValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) PositiveIntegerValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_PositiveIntegerValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) PositiveIntegerValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_PositiveIntegerValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) PositiveIntegerValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_PositiveIntegerValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithTags(tags OptionalProperty) PositiveIntegerValueBuilder { + b.Tags = tags + return b +} + +func (b *_PositiveIntegerValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithProfileLocation(profileLocation OptionalProperty) PositiveIntegerValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_PositiveIntegerValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) WithProfileName(profileName OptionalProperty) PositiveIntegerValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_PositiveIntegerValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PositiveIntegerValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PositiveIntegerValueBuilder) Build() (PositiveIntegerValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Units == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'units' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.COVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVIncrement' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.HighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'highLimit' not set")) + } + if b.LowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowLimit' not set")) + } + if b.Deadband == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deadband' not set")) + } + if b.LimitEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'limitEnable' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.MinPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minPresValue' not set")) + } + if b.MaxPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxPresValue' not set")) + } + if b.Resolution == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'resolution' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.FaultHighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultHighLimit' not set")) + } + if b.FaultLowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'faultLowLimit' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._PositiveIntegerValue.deepCopy(), nil +} + +func (b *_PositiveIntegerValueBuilder) MustBuild() PositiveIntegerValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_PositiveIntegerValueBuilder) DeepCopy() any { + _copy := b.CreatePositiveIntegerValueBuilder().(*_PositiveIntegerValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreatePositiveIntegerValueBuilder creates a PositiveIntegerValueBuilder +func (b *_PositiveIntegerValue) CreatePositiveIntegerValueBuilder() PositiveIntegerValueBuilder { + if b == nil { + return NewPositiveIntegerValueBuilder() + } + return &_PositiveIntegerValueBuilder{_PositiveIntegerValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_PositiveIntegerValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_PositiveIntegerValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_PositiveIntegerValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_PositiveIntegerValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_PositiveIntegerValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_PositiveIntegerValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_PositiveIntegerValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_PositiveIntegerValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_PositiveIntegerValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_PositiveIntegerValue) GetUnits() ReadableProperty { + return m.Units +} + +func (m *_PositiveIntegerValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_PositiveIntegerValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_PositiveIntegerValue) GetCOVIncrement() OptionalProperty { + return m.COVIncrement +} + +func (m *_PositiveIntegerValue) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_PositiveIntegerValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_PositiveIntegerValue) GetHighLimit() OptionalProperty { + return m.HighLimit +} + +func (m *_PositiveIntegerValue) GetLowLimit() OptionalProperty { + return m.LowLimit +} + +func (m *_PositiveIntegerValue) GetDeadband() OptionalProperty { + return m.Deadband +} + +func (m *_PositiveIntegerValue) GetLimitEnable() OptionalProperty { + return m.LimitEnable +} + +func (m *_PositiveIntegerValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_PositiveIntegerValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_PositiveIntegerValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_PositiveIntegerValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_PositiveIntegerValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_PositiveIntegerValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_PositiveIntegerValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_PositiveIntegerValue) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_PositiveIntegerValue) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_PositiveIntegerValue) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_PositiveIntegerValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_PositiveIntegerValue) GetMinPresValue() OptionalProperty { + return m.MinPresValue +} + +func (m *_PositiveIntegerValue) GetMaxPresValue() OptionalProperty { + return m.MaxPresValue +} + +func (m *_PositiveIntegerValue) GetResolution() OptionalProperty { + return m.Resolution +} + +func (m *_PositiveIntegerValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_PositiveIntegerValue) GetFaultHighLimit() OptionalProperty { + return m.FaultHighLimit +} + +func (m *_PositiveIntegerValue) GetFaultLowLimit() OptionalProperty { + return m.FaultLowLimit +} + +func (m *_PositiveIntegerValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_PositiveIntegerValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_PositiveIntegerValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_PositiveIntegerValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_PositiveIntegerValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_PositiveIntegerValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_PositiveIntegerValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_PositiveIntegerValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastPositiveIntegerValue(structType any) PositiveIntegerValue { + if casted, ok := structType.(PositiveIntegerValue); ok { + return casted + } + if casted, ok := structType.(*PositiveIntegerValue); ok { + return *casted + } + return nil +} + +func (m *_PositiveIntegerValue) GetTypeName() string { + return "PositiveIntegerValue" +} + +func (m *_PositiveIntegerValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (units) + lengthInBits += m.Units.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (cOVIncrement) + lengthInBits += m.COVIncrement.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (highLimit) + lengthInBits += m.HighLimit.GetLengthInBits(ctx) + + // Simple field (lowLimit) + lengthInBits += m.LowLimit.GetLengthInBits(ctx) + + // Simple field (deadband) + lengthInBits += m.Deadband.GetLengthInBits(ctx) + + // Simple field (limitEnable) + lengthInBits += m.LimitEnable.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (minPresValue) + lengthInBits += m.MinPresValue.GetLengthInBits(ctx) + + // Simple field (maxPresValue) + lengthInBits += m.MaxPresValue.GetLengthInBits(ctx) + + // Simple field (resolution) + lengthInBits += m.Resolution.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (faultHighLimit) + lengthInBits += m.FaultHighLimit.GetLengthInBits(ctx) + + // Simple field (faultLowLimit) + lengthInBits += m.FaultLowLimit.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_PositiveIntegerValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func PositiveIntegerValueParse(ctx context.Context, theBytes []byte) (PositiveIntegerValue, error) { + return PositiveIntegerValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func PositiveIntegerValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (PositiveIntegerValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (PositiveIntegerValue, error) { + return PositiveIntegerValueParseWithBuffer(ctx, readBuffer) + } +} + +func PositiveIntegerValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (PositiveIntegerValue, error) { + v, err := (&_PositiveIntegerValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_PositiveIntegerValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__positiveIntegerValue PositiveIntegerValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("PositiveIntegerValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for PositiveIntegerValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + units, err := ReadSimpleField[ReadableProperty](ctx, "units", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'units' field")) + } + m.Units = units + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + cOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "cOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVIncrement' field")) + } + m.COVIncrement = cOVIncrement + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + highLimit, err := ReadSimpleField[OptionalProperty](ctx, "highLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'highLimit' field")) + } + m.HighLimit = highLimit + + lowLimit, err := ReadSimpleField[OptionalProperty](ctx, "lowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowLimit' field")) + } + m.LowLimit = lowLimit + + deadband, err := ReadSimpleField[OptionalProperty](ctx, "deadband", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deadband' field")) + } + m.Deadband = deadband + + limitEnable, err := ReadSimpleField[OptionalProperty](ctx, "limitEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLimitEnable")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'limitEnable' field")) + } + m.LimitEnable = limitEnable + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + minPresValue, err := ReadSimpleField[OptionalProperty](ctx, "minPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minPresValue' field")) + } + m.MinPresValue = minPresValue + + maxPresValue, err := ReadSimpleField[OptionalProperty](ctx, "maxPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxPresValue' field")) + } + m.MaxPresValue = maxPresValue + + resolution, err := ReadSimpleField[OptionalProperty](ctx, "resolution", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'resolution' field")) + } + m.Resolution = resolution + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + faultHighLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultHighLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultHighLimit' field")) + } + m.FaultHighLimit = faultHighLimit + + faultLowLimit, err := ReadSimpleField[OptionalProperty](ctx, "faultLowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'faultLowLimit' field")) + } + m.FaultLowLimit = faultLowLimit + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("PositiveIntegerValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for PositiveIntegerValue") + } + + return m, nil +} + +func (m *_PositiveIntegerValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_PositiveIntegerValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("PositiveIntegerValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for PositiveIntegerValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "units", m.GetUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'units' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVIncrement", m.GetCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "highLimit", m.GetHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'highLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowLimit", m.GetLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deadband", m.GetDeadband(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deadband' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "limitEnable", m.GetLimitEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'limitEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minPresValue", m.GetMinPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxPresValue", m.GetMaxPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "resolution", m.GetResolution(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'resolution' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultHighLimit", m.GetFaultHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultHighLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "faultLowLimit", m.GetFaultLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'faultLowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("PositiveIntegerValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for PositiveIntegerValue") + } + return nil +} + +func (m *_PositiveIntegerValue) IsPositiveIntegerValue() {} + +func (m *_PositiveIntegerValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_PositiveIntegerValue) deepCopy() *_PositiveIntegerValue { + if m == nil { + return nil + } + _PositiveIntegerValueCopy := &_PositiveIntegerValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.Units.DeepCopy().(ReadableProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.COVIncrement.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.HighLimit.DeepCopy().(OptionalProperty), + m.LowLimit.DeepCopy().(OptionalProperty), + m.Deadband.DeepCopy().(OptionalProperty), + m.LimitEnable.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.MinPresValue.DeepCopy().(OptionalProperty), + m.MaxPresValue.DeepCopy().(OptionalProperty), + m.Resolution.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.FaultHighLimit.DeepCopy().(OptionalProperty), + m.FaultLowLimit.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _PositiveIntegerValueCopy +} + +func (m *_PositiveIntegerValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Program.go b/plc4go/protocols/bacnetip/readwrite/model/Program.go new file mode 100644 index 00000000000..20d564ccda6 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Program.go @@ -0,0 +1,1652 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Program is the corresponding interface of Program +type Program interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetProgramState returns ProgramState (property field) + GetProgramState() ReadableProperty + // GetProgramChange returns ProgramChange (property field) + GetProgramChange() WritableProperty + // GetReasonForHalt returns ReasonForHalt (property field) + GetReasonForHalt() OptionalProperty + // GetDescriptionOfHalt returns DescriptionOfHalt (property field) + GetDescriptionOfHalt() OptionalProperty + // GetProgramLocation returns ProgramLocation (property field) + GetProgramLocation() OptionalProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetInstanceOf returns InstanceOf (property field) + GetInstanceOf() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsProgram is a marker method to prevent unintentional type checks (interfaces of same signature) + IsProgram() + // CreateBuilder creates a ProgramBuilder + CreateProgramBuilder() ProgramBuilder +} + +// _Program is the data-structure of this message +type _Program struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + ProgramState ReadableProperty + ProgramChange WritableProperty + ReasonForHalt OptionalProperty + DescriptionOfHalt OptionalProperty + ProgramLocation OptionalProperty + Description OptionalProperty + InstanceOf OptionalProperty + StatusFlags ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + EventState OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Program = (*_Program)(nil) + +// NewProgram factory function for _Program +func NewProgram(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, programState ReadableProperty, programChange WritableProperty, reasonForHalt OptionalProperty, descriptionOfHalt OptionalProperty, programLocation OptionalProperty, description OptionalProperty, instanceOf OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Program { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Program must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Program must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Program must not be nil") + } + if programState == nil { + panic("programState of type ReadableProperty for Program must not be nil") + } + if programChange == nil { + panic("programChange of type WritableProperty for Program must not be nil") + } + if reasonForHalt == nil { + panic("reasonForHalt of type OptionalProperty for Program must not be nil") + } + if descriptionOfHalt == nil { + panic("descriptionOfHalt of type OptionalProperty for Program must not be nil") + } + if programLocation == nil { + panic("programLocation of type OptionalProperty for Program must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Program must not be nil") + } + if instanceOf == nil { + panic("instanceOf of type OptionalProperty for Program must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for Program must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for Program must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for Program must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Program must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Program must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Program must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for Program must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Program must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Program must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Program must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Program must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Program must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Program must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Program must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Program must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Program must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Program must not be nil") + } + return &_Program{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, ProgramState: programState, ProgramChange: programChange, ReasonForHalt: reasonForHalt, DescriptionOfHalt: descriptionOfHalt, ProgramLocation: programLocation, Description: description, InstanceOf: instanceOf, StatusFlags: statusFlags, Reliability: reliability, OutOfService: outOfService, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, EventState: eventState, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// ProgramBuilder is a builder for Program +type ProgramBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, programState ReadableProperty, programChange WritableProperty, reasonForHalt OptionalProperty, descriptionOfHalt OptionalProperty, programLocation OptionalProperty, description OptionalProperty, instanceOf OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) ProgramBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) ProgramBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) ProgramBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) ProgramBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder + // WithProgramState adds ProgramState (property field) + WithProgramState(ReadableProperty) ProgramBuilder + // WithProgramStateBuilder adds ProgramState (property field) which is build by the builder + WithProgramStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder + // WithProgramChange adds ProgramChange (property field) + WithProgramChange(WritableProperty) ProgramBuilder + // WithProgramChangeBuilder adds ProgramChange (property field) which is build by the builder + WithProgramChangeBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) ProgramBuilder + // WithReasonForHalt adds ReasonForHalt (property field) + WithReasonForHalt(OptionalProperty) ProgramBuilder + // WithReasonForHaltBuilder adds ReasonForHalt (property field) which is build by the builder + WithReasonForHaltBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithDescriptionOfHalt adds DescriptionOfHalt (property field) + WithDescriptionOfHalt(OptionalProperty) ProgramBuilder + // WithDescriptionOfHaltBuilder adds DescriptionOfHalt (property field) which is build by the builder + WithDescriptionOfHaltBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithProgramLocation adds ProgramLocation (property field) + WithProgramLocation(OptionalProperty) ProgramBuilder + // WithProgramLocationBuilder adds ProgramLocation (property field) which is build by the builder + WithProgramLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) ProgramBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithInstanceOf adds InstanceOf (property field) + WithInstanceOf(OptionalProperty) ProgramBuilder + // WithInstanceOfBuilder adds InstanceOf (property field) which is build by the builder + WithInstanceOfBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) ProgramBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) ProgramBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) ProgramBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) ProgramBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) ProgramBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) ProgramBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) ProgramBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) ProgramBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) ProgramBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) ProgramBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) ProgramBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) ProgramBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) ProgramBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) ProgramBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) ProgramBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) ProgramBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) ProgramBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder + // Build builds the Program or returns an error if something is wrong + Build() (Program, error) + // MustBuild does the same as Build but panics on error + MustBuild() Program +} + +// NewProgramBuilder() creates a ProgramBuilder +func NewProgramBuilder() ProgramBuilder { + return &_ProgramBuilder{_Program: new(_Program)} +} + +type _ProgramBuilder struct { + *_Program + + err *utils.MultiError +} + +var _ (ProgramBuilder) = (*_ProgramBuilder)(nil) + +func (b *_ProgramBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, programState ReadableProperty, programChange WritableProperty, reasonForHalt OptionalProperty, descriptionOfHalt OptionalProperty, programLocation OptionalProperty, description OptionalProperty, instanceOf OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) ProgramBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithProgramState(programState).WithProgramChange(programChange).WithReasonForHalt(reasonForHalt).WithDescriptionOfHalt(descriptionOfHalt).WithProgramLocation(programLocation).WithDescription(description).WithInstanceOf(instanceOf).WithStatusFlags(statusFlags).WithReliability(reliability).WithOutOfService(outOfService).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithEventState(eventState).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_ProgramBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) ProgramBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_ProgramBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithObjectName(objectName ReadableProperty) ProgramBuilder { + b.ObjectName = objectName + return b +} + +func (b *_ProgramBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithObjectType(objectType ReadableProperty) ProgramBuilder { + b.ObjectType = objectType + return b +} + +func (b *_ProgramBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithProgramState(programState ReadableProperty) ProgramBuilder { + b.ProgramState = programState + return b +} + +func (b *_ProgramBuilder) WithProgramStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ProgramState.CreateReadablePropertyBuilder()) + var err error + b.ProgramState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithProgramChange(programChange WritableProperty) ProgramBuilder { + b.ProgramChange = programChange + return b +} + +func (b *_ProgramBuilder) WithProgramChangeBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ProgramChange.CreateWritablePropertyBuilder()) + var err error + b.ProgramChange, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithReasonForHalt(reasonForHalt OptionalProperty) ProgramBuilder { + b.ReasonForHalt = reasonForHalt + return b +} + +func (b *_ProgramBuilder) WithReasonForHaltBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ReasonForHalt.CreateOptionalPropertyBuilder()) + var err error + b.ReasonForHalt, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithDescriptionOfHalt(descriptionOfHalt OptionalProperty) ProgramBuilder { + b.DescriptionOfHalt = descriptionOfHalt + return b +} + +func (b *_ProgramBuilder) WithDescriptionOfHaltBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.DescriptionOfHalt.CreateOptionalPropertyBuilder()) + var err error + b.DescriptionOfHalt, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithProgramLocation(programLocation OptionalProperty) ProgramBuilder { + b.ProgramLocation = programLocation + return b +} + +func (b *_ProgramBuilder) WithProgramLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ProgramLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProgramLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithDescription(description OptionalProperty) ProgramBuilder { + b.Description = description + return b +} + +func (b *_ProgramBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithInstanceOf(instanceOf OptionalProperty) ProgramBuilder { + b.InstanceOf = instanceOf + return b +} + +func (b *_ProgramBuilder) WithInstanceOfBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.InstanceOf.CreateOptionalPropertyBuilder()) + var err error + b.InstanceOf, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithStatusFlags(statusFlags ReadableProperty) ProgramBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_ProgramBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithReliability(reliability OptionalProperty) ProgramBuilder { + b.Reliability = reliability + return b +} + +func (b *_ProgramBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithOutOfService(outOfService ReadableProperty) ProgramBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_ProgramBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) ProgramBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_ProgramBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithNotificationClass(notificationClass OptionalProperty) ProgramBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_ProgramBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithEventEnable(eventEnable OptionalProperty) ProgramBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_ProgramBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithEventState(eventState OptionalProperty) ProgramBuilder { + b.EventState = eventState + return b +} + +func (b *_ProgramBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) ProgramBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_ProgramBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithNotifyType(notifyType OptionalProperty) ProgramBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_ProgramBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) ProgramBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_ProgramBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) ProgramBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_ProgramBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) ProgramBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_ProgramBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) ProgramBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_ProgramBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithPropertyList(propertyList ReadableProperty) ProgramBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_ProgramBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithTags(tags OptionalProperty) ProgramBuilder { + b.Tags = tags + return b +} + +func (b *_ProgramBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithProfileLocation(profileLocation OptionalProperty) ProgramBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_ProgramBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) WithProfileName(profileName OptionalProperty) ProgramBuilder { + b.ProfileName = profileName + return b +} + +func (b *_ProgramBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ProgramBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ProgramBuilder) Build() (Program, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.ProgramState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'programState' not set")) + } + if b.ProgramChange == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'programChange' not set")) + } + if b.ReasonForHalt == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reasonForHalt' not set")) + } + if b.DescriptionOfHalt == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'descriptionOfHalt' not set")) + } + if b.ProgramLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'programLocation' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.InstanceOf == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'instanceOf' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Program.deepCopy(), nil +} + +func (b *_ProgramBuilder) MustBuild() Program { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_ProgramBuilder) DeepCopy() any { + _copy := b.CreateProgramBuilder().(*_ProgramBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateProgramBuilder creates a ProgramBuilder +func (b *_Program) CreateProgramBuilder() ProgramBuilder { + if b == nil { + return NewProgramBuilder() + } + return &_ProgramBuilder{_Program: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Program) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Program) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Program) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Program) GetProgramState() ReadableProperty { + return m.ProgramState +} + +func (m *_Program) GetProgramChange() WritableProperty { + return m.ProgramChange +} + +func (m *_Program) GetReasonForHalt() OptionalProperty { + return m.ReasonForHalt +} + +func (m *_Program) GetDescriptionOfHalt() OptionalProperty { + return m.DescriptionOfHalt +} + +func (m *_Program) GetProgramLocation() OptionalProperty { + return m.ProgramLocation +} + +func (m *_Program) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Program) GetInstanceOf() OptionalProperty { + return m.InstanceOf +} + +func (m *_Program) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_Program) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_Program) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_Program) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Program) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Program) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Program) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_Program) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Program) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Program) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Program) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Program) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Program) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Program) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Program) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Program) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Program) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastProgram(structType any) Program { + if casted, ok := structType.(Program); ok { + return casted + } + if casted, ok := structType.(*Program); ok { + return *casted + } + return nil +} + +func (m *_Program) GetTypeName() string { + return "Program" +} + +func (m *_Program) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (programState) + lengthInBits += m.ProgramState.GetLengthInBits(ctx) + + // Simple field (programChange) + lengthInBits += m.ProgramChange.GetLengthInBits(ctx) + + // Simple field (reasonForHalt) + lengthInBits += m.ReasonForHalt.GetLengthInBits(ctx) + + // Simple field (descriptionOfHalt) + lengthInBits += m.DescriptionOfHalt.GetLengthInBits(ctx) + + // Simple field (programLocation) + lengthInBits += m.ProgramLocation.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (instanceOf) + lengthInBits += m.InstanceOf.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Program) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func ProgramParse(ctx context.Context, theBytes []byte) (Program, error) { + return ProgramParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func ProgramParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Program, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Program, error) { + return ProgramParseWithBuffer(ctx, readBuffer) + } +} + +func ProgramParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Program, error) { + v, err := (&_Program{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Program) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__program Program, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Program"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Program") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + programState, err := ReadSimpleField[ReadableProperty](ctx, "programState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetProgramState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'programState' field")) + } + m.ProgramState = programState + + programChange, err := ReadSimpleField[WritableProperty](ctx, "programChange", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BACnetProgramRequest")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'programChange' field")) + } + m.ProgramChange = programChange + + reasonForHalt, err := ReadSimpleField[OptionalProperty](ctx, "reasonForHalt", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetProgramError")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reasonForHalt' field")) + } + m.ReasonForHalt = reasonForHalt + + descriptionOfHalt, err := ReadSimpleField[OptionalProperty](ctx, "descriptionOfHalt", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'descriptionOfHalt' field")) + } + m.DescriptionOfHalt = descriptionOfHalt + + programLocation, err := ReadSimpleField[OptionalProperty](ctx, "programLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'programLocation' field")) + } + m.ProgramLocation = programLocation + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + instanceOf, err := ReadSimpleField[OptionalProperty](ctx, "instanceOf", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'instanceOf' field")) + } + m.InstanceOf = instanceOf + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Program"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Program") + } + + return m, nil +} + +func (m *_Program) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Program) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Program"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Program") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "programState", m.GetProgramState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'programState' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "programChange", m.GetProgramChange(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'programChange' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reasonForHalt", m.GetReasonForHalt(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reasonForHalt' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "descriptionOfHalt", m.GetDescriptionOfHalt(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'descriptionOfHalt' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "programLocation", m.GetProgramLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'programLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "instanceOf", m.GetInstanceOf(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'instanceOf' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Program"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Program") + } + return nil +} + +func (m *_Program) IsProgram() {} + +func (m *_Program) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Program) deepCopy() *_Program { + if m == nil { + return nil + } + _ProgramCopy := &_Program{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.ProgramState.DeepCopy().(ReadableProperty), + m.ProgramChange.DeepCopy().(WritableProperty), + m.ReasonForHalt.DeepCopy().(OptionalProperty), + m.DescriptionOfHalt.DeepCopy().(OptionalProperty), + m.ProgramLocation.DeepCopy().(OptionalProperty), + m.Description.DeepCopy().(OptionalProperty), + m.InstanceOf.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _ProgramCopy +} + +func (m *_Program) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/PulseConverter.go b/plc4go/protocols/bacnetip/readwrite/model/PulseConverter.go new file mode 100644 index 00000000000..7ec956d8375 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/PulseConverter.go @@ -0,0 +1,2328 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// PulseConverter is the corresponding interface of PulseConverter +type PulseConverter interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetInputReference returns InputReference (property field) + GetInputReference() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetUnits returns Units (property field) + GetUnits() ReadableProperty + // GetScaleFactor returns ScaleFactor (property field) + GetScaleFactor() ReadableProperty + // GetAdjustValue returns AdjustValue (property field) + GetAdjustValue() WritableProperty + // GetCount returns Count (property field) + GetCount() ReadableProperty + // GetUpdateTime returns UpdateTime (property field) + GetUpdateTime() ReadableProperty + // GetCountChangeTime returns CountChangeTime (property field) + GetCountChangeTime() ReadableProperty + // GetCountBeforeChange returns CountBeforeChange (property field) + GetCountBeforeChange() ReadableProperty + // GetCOVIncrement returns COVIncrement (property field) + GetCOVIncrement() OptionalProperty + // GetCOVPeriod returns COVPeriod (property field) + GetCOVPeriod() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetHighLimit returns HighLimit (property field) + GetHighLimit() OptionalProperty + // GetLowLimit returns LowLimit (property field) + GetLowLimit() OptionalProperty + // GetDeadband returns Deadband (property field) + GetDeadband() OptionalProperty + // GetLimitEnable returns LimitEnable (property field) + GetLimitEnable() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsPulseConverter is a marker method to prevent unintentional type checks (interfaces of same signature) + IsPulseConverter() + // CreateBuilder creates a PulseConverterBuilder + CreatePulseConverterBuilder() PulseConverterBuilder +} + +// _PulseConverter is the data-structure of this message +type _PulseConverter struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + InputReference OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + OutOfService ReadableProperty + Units ReadableProperty + ScaleFactor ReadableProperty + AdjustValue WritableProperty + Count ReadableProperty + UpdateTime ReadableProperty + CountChangeTime ReadableProperty + CountBeforeChange ReadableProperty + COVIncrement OptionalProperty + COVPeriod OptionalProperty + NotificationClass OptionalProperty + TimeDelay OptionalProperty + HighLimit OptionalProperty + LowLimit OptionalProperty + Deadband OptionalProperty + LimitEnable OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + TimeDelayNormal OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ PulseConverter = (*_PulseConverter)(nil) + +// NewPulseConverter factory function for _PulseConverter +func NewPulseConverter(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, inputReference OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, units ReadableProperty, scaleFactor ReadableProperty, adjustValue WritableProperty, count ReadableProperty, updateTime ReadableProperty, countChangeTime ReadableProperty, countBeforeChange ReadableProperty, cOVIncrement OptionalProperty, cOVPeriod OptionalProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_PulseConverter { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for PulseConverter must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for PulseConverter must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for PulseConverter must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for PulseConverter must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for PulseConverter must not be nil") + } + if inputReference == nil { + panic("inputReference of type OptionalProperty for PulseConverter must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for PulseConverter must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for PulseConverter must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for PulseConverter must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for PulseConverter must not be nil") + } + if units == nil { + panic("units of type ReadableProperty for PulseConverter must not be nil") + } + if scaleFactor == nil { + panic("scaleFactor of type ReadableProperty for PulseConverter must not be nil") + } + if adjustValue == nil { + panic("adjustValue of type WritableProperty for PulseConverter must not be nil") + } + if count == nil { + panic("count of type ReadableProperty for PulseConverter must not be nil") + } + if updateTime == nil { + panic("updateTime of type ReadableProperty for PulseConverter must not be nil") + } + if countChangeTime == nil { + panic("countChangeTime of type ReadableProperty for PulseConverter must not be nil") + } + if countBeforeChange == nil { + panic("countBeforeChange of type ReadableProperty for PulseConverter must not be nil") + } + if cOVIncrement == nil { + panic("cOVIncrement of type OptionalProperty for PulseConverter must not be nil") + } + if cOVPeriod == nil { + panic("cOVPeriod of type OptionalProperty for PulseConverter must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for PulseConverter must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for PulseConverter must not be nil") + } + if highLimit == nil { + panic("highLimit of type OptionalProperty for PulseConverter must not be nil") + } + if lowLimit == nil { + panic("lowLimit of type OptionalProperty for PulseConverter must not be nil") + } + if deadband == nil { + panic("deadband of type OptionalProperty for PulseConverter must not be nil") + } + if limitEnable == nil { + panic("limitEnable of type OptionalProperty for PulseConverter must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for PulseConverter must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for PulseConverter must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for PulseConverter must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for PulseConverter must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for PulseConverter must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for PulseConverter must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for PulseConverter must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for PulseConverter must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for PulseConverter must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for PulseConverter must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for PulseConverter must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for PulseConverter must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for PulseConverter must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for PulseConverter must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for PulseConverter must not be nil") + } + return &_PulseConverter{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, InputReference: inputReference, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, Units: units, ScaleFactor: scaleFactor, AdjustValue: adjustValue, Count: count, UpdateTime: updateTime, CountChangeTime: countChangeTime, CountBeforeChange: countBeforeChange, COVIncrement: cOVIncrement, COVPeriod: cOVPeriod, NotificationClass: notificationClass, TimeDelay: timeDelay, HighLimit: highLimit, LowLimit: lowLimit, Deadband: deadband, LimitEnable: limitEnable, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, TimeDelayNormal: timeDelayNormal, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// PulseConverterBuilder is a builder for PulseConverter +type PulseConverterBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, inputReference OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, units ReadableProperty, scaleFactor ReadableProperty, adjustValue WritableProperty, count ReadableProperty, updateTime ReadableProperty, countChangeTime ReadableProperty, countBeforeChange ReadableProperty, cOVIncrement OptionalProperty, cOVPeriod OptionalProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) PulseConverterBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) PulseConverterBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) PulseConverterBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) PulseConverterBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) PulseConverterBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) PulseConverterBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithInputReference adds InputReference (property field) + WithInputReference(OptionalProperty) PulseConverterBuilder + // WithInputReferenceBuilder adds InputReference (property field) which is build by the builder + WithInputReferenceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) PulseConverterBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) PulseConverterBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) PulseConverterBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) PulseConverterBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithUnits adds Units (property field) + WithUnits(ReadableProperty) PulseConverterBuilder + // WithUnitsBuilder adds Units (property field) which is build by the builder + WithUnitsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithScaleFactor adds ScaleFactor (property field) + WithScaleFactor(ReadableProperty) PulseConverterBuilder + // WithScaleFactorBuilder adds ScaleFactor (property field) which is build by the builder + WithScaleFactorBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithAdjustValue adds AdjustValue (property field) + WithAdjustValue(WritableProperty) PulseConverterBuilder + // WithAdjustValueBuilder adds AdjustValue (property field) which is build by the builder + WithAdjustValueBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) PulseConverterBuilder + // WithCount adds Count (property field) + WithCount(ReadableProperty) PulseConverterBuilder + // WithCountBuilder adds Count (property field) which is build by the builder + WithCountBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithUpdateTime adds UpdateTime (property field) + WithUpdateTime(ReadableProperty) PulseConverterBuilder + // WithUpdateTimeBuilder adds UpdateTime (property field) which is build by the builder + WithUpdateTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithCountChangeTime adds CountChangeTime (property field) + WithCountChangeTime(ReadableProperty) PulseConverterBuilder + // WithCountChangeTimeBuilder adds CountChangeTime (property field) which is build by the builder + WithCountChangeTimeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithCountBeforeChange adds CountBeforeChange (property field) + WithCountBeforeChange(ReadableProperty) PulseConverterBuilder + // WithCountBeforeChangeBuilder adds CountBeforeChange (property field) which is build by the builder + WithCountBeforeChangeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithCOVIncrement adds COVIncrement (property field) + WithCOVIncrement(OptionalProperty) PulseConverterBuilder + // WithCOVIncrementBuilder adds COVIncrement (property field) which is build by the builder + WithCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithCOVPeriod adds COVPeriod (property field) + WithCOVPeriod(OptionalProperty) PulseConverterBuilder + // WithCOVPeriodBuilder adds COVPeriod (property field) which is build by the builder + WithCOVPeriodBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) PulseConverterBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) PulseConverterBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithHighLimit adds HighLimit (property field) + WithHighLimit(OptionalProperty) PulseConverterBuilder + // WithHighLimitBuilder adds HighLimit (property field) which is build by the builder + WithHighLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithLowLimit adds LowLimit (property field) + WithLowLimit(OptionalProperty) PulseConverterBuilder + // WithLowLimitBuilder adds LowLimit (property field) which is build by the builder + WithLowLimitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithDeadband adds Deadband (property field) + WithDeadband(OptionalProperty) PulseConverterBuilder + // WithDeadbandBuilder adds Deadband (property field) which is build by the builder + WithDeadbandBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithLimitEnable adds LimitEnable (property field) + WithLimitEnable(OptionalProperty) PulseConverterBuilder + // WithLimitEnableBuilder adds LimitEnable (property field) which is build by the builder + WithLimitEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) PulseConverterBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) PulseConverterBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) PulseConverterBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) PulseConverterBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) PulseConverterBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) PulseConverterBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) PulseConverterBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) PulseConverterBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) PulseConverterBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) PulseConverterBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) PulseConverterBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) PulseConverterBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) PulseConverterBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) PulseConverterBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) PulseConverterBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder + // Build builds the PulseConverter or returns an error if something is wrong + Build() (PulseConverter, error) + // MustBuild does the same as Build but panics on error + MustBuild() PulseConverter +} + +// NewPulseConverterBuilder() creates a PulseConverterBuilder +func NewPulseConverterBuilder() PulseConverterBuilder { + return &_PulseConverterBuilder{_PulseConverter: new(_PulseConverter)} +} + +type _PulseConverterBuilder struct { + *_PulseConverter + + err *utils.MultiError +} + +var _ (PulseConverterBuilder) = (*_PulseConverterBuilder)(nil) + +func (b *_PulseConverterBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, inputReference OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, outOfService ReadableProperty, units ReadableProperty, scaleFactor ReadableProperty, adjustValue WritableProperty, count ReadableProperty, updateTime ReadableProperty, countChangeTime ReadableProperty, countBeforeChange ReadableProperty, cOVIncrement OptionalProperty, cOVPeriod OptionalProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, highLimit OptionalProperty, lowLimit OptionalProperty, deadband OptionalProperty, limitEnable OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, timeDelayNormal OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) PulseConverterBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithInputReference(inputReference).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithUnits(units).WithScaleFactor(scaleFactor).WithAdjustValue(adjustValue).WithCount(count).WithUpdateTime(updateTime).WithCountChangeTime(countChangeTime).WithCountBeforeChange(countBeforeChange).WithCOVIncrement(cOVIncrement).WithCOVPeriod(cOVPeriod).WithNotificationClass(notificationClass).WithTimeDelay(timeDelay).WithHighLimit(highLimit).WithLowLimit(lowLimit).WithDeadband(deadband).WithLimitEnable(limitEnable).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithTimeDelayNormal(timeDelayNormal).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_PulseConverterBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) PulseConverterBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_PulseConverterBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithObjectName(objectName ReadableProperty) PulseConverterBuilder { + b.ObjectName = objectName + return b +} + +func (b *_PulseConverterBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithObjectType(objectType ReadableProperty) PulseConverterBuilder { + b.ObjectType = objectType + return b +} + +func (b *_PulseConverterBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithDescription(description OptionalProperty) PulseConverterBuilder { + b.Description = description + return b +} + +func (b *_PulseConverterBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithPresentValue(presentValue ReadableProperty) PulseConverterBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_PulseConverterBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithInputReference(inputReference OptionalProperty) PulseConverterBuilder { + b.InputReference = inputReference + return b +} + +func (b *_PulseConverterBuilder) WithInputReferenceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.InputReference.CreateOptionalPropertyBuilder()) + var err error + b.InputReference, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithStatusFlags(statusFlags ReadableProperty) PulseConverterBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_PulseConverterBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithEventState(eventState ReadableProperty) PulseConverterBuilder { + b.EventState = eventState + return b +} + +func (b *_PulseConverterBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithReliability(reliability OptionalProperty) PulseConverterBuilder { + b.Reliability = reliability + return b +} + +func (b *_PulseConverterBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithOutOfService(outOfService ReadableProperty) PulseConverterBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_PulseConverterBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithUnits(units ReadableProperty) PulseConverterBuilder { + b.Units = units + return b +} + +func (b *_PulseConverterBuilder) WithUnitsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.Units.CreateReadablePropertyBuilder()) + var err error + b.Units, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithScaleFactor(scaleFactor ReadableProperty) PulseConverterBuilder { + b.ScaleFactor = scaleFactor + return b +} + +func (b *_PulseConverterBuilder) WithScaleFactorBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.ScaleFactor.CreateReadablePropertyBuilder()) + var err error + b.ScaleFactor, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithAdjustValue(adjustValue WritableProperty) PulseConverterBuilder { + b.AdjustValue = adjustValue + return b +} + +func (b *_PulseConverterBuilder) WithAdjustValueBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.AdjustValue.CreateWritablePropertyBuilder()) + var err error + b.AdjustValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithCount(count ReadableProperty) PulseConverterBuilder { + b.Count = count + return b +} + +func (b *_PulseConverterBuilder) WithCountBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.Count.CreateReadablePropertyBuilder()) + var err error + b.Count, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithUpdateTime(updateTime ReadableProperty) PulseConverterBuilder { + b.UpdateTime = updateTime + return b +} + +func (b *_PulseConverterBuilder) WithUpdateTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.UpdateTime.CreateReadablePropertyBuilder()) + var err error + b.UpdateTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithCountChangeTime(countChangeTime ReadableProperty) PulseConverterBuilder { + b.CountChangeTime = countChangeTime + return b +} + +func (b *_PulseConverterBuilder) WithCountChangeTimeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.CountChangeTime.CreateReadablePropertyBuilder()) + var err error + b.CountChangeTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithCountBeforeChange(countBeforeChange ReadableProperty) PulseConverterBuilder { + b.CountBeforeChange = countBeforeChange + return b +} + +func (b *_PulseConverterBuilder) WithCountBeforeChangeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.CountBeforeChange.CreateReadablePropertyBuilder()) + var err error + b.CountBeforeChange, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithCOVIncrement(cOVIncrement OptionalProperty) PulseConverterBuilder { + b.COVIncrement = cOVIncrement + return b +} + +func (b *_PulseConverterBuilder) WithCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.COVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.COVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithCOVPeriod(cOVPeriod OptionalProperty) PulseConverterBuilder { + b.COVPeriod = cOVPeriod + return b +} + +func (b *_PulseConverterBuilder) WithCOVPeriodBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.COVPeriod.CreateOptionalPropertyBuilder()) + var err error + b.COVPeriod, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithNotificationClass(notificationClass OptionalProperty) PulseConverterBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_PulseConverterBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithTimeDelay(timeDelay OptionalProperty) PulseConverterBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_PulseConverterBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithHighLimit(highLimit OptionalProperty) PulseConverterBuilder { + b.HighLimit = highLimit + return b +} + +func (b *_PulseConverterBuilder) WithHighLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.HighLimit.CreateOptionalPropertyBuilder()) + var err error + b.HighLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithLowLimit(lowLimit OptionalProperty) PulseConverterBuilder { + b.LowLimit = lowLimit + return b +} + +func (b *_PulseConverterBuilder) WithLowLimitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.LowLimit.CreateOptionalPropertyBuilder()) + var err error + b.LowLimit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithDeadband(deadband OptionalProperty) PulseConverterBuilder { + b.Deadband = deadband + return b +} + +func (b *_PulseConverterBuilder) WithDeadbandBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.Deadband.CreateOptionalPropertyBuilder()) + var err error + b.Deadband, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithLimitEnable(limitEnable OptionalProperty) PulseConverterBuilder { + b.LimitEnable = limitEnable + return b +} + +func (b *_PulseConverterBuilder) WithLimitEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.LimitEnable.CreateOptionalPropertyBuilder()) + var err error + b.LimitEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithEventEnable(eventEnable OptionalProperty) PulseConverterBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_PulseConverterBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) PulseConverterBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_PulseConverterBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithNotifyType(notifyType OptionalProperty) PulseConverterBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_PulseConverterBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) PulseConverterBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_PulseConverterBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) PulseConverterBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_PulseConverterBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) PulseConverterBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_PulseConverterBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) PulseConverterBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_PulseConverterBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) PulseConverterBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_PulseConverterBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) PulseConverterBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_PulseConverterBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) PulseConverterBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_PulseConverterBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) PulseConverterBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_PulseConverterBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithPropertyList(propertyList ReadableProperty) PulseConverterBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_PulseConverterBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithTags(tags OptionalProperty) PulseConverterBuilder { + b.Tags = tags + return b +} + +func (b *_PulseConverterBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithProfileLocation(profileLocation OptionalProperty) PulseConverterBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_PulseConverterBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) WithProfileName(profileName OptionalProperty) PulseConverterBuilder { + b.ProfileName = profileName + return b +} + +func (b *_PulseConverterBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) PulseConverterBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_PulseConverterBuilder) Build() (PulseConverter, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.InputReference == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'inputReference' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.Units == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'units' not set")) + } + if b.ScaleFactor == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'scaleFactor' not set")) + } + if b.AdjustValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'adjustValue' not set")) + } + if b.Count == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'count' not set")) + } + if b.UpdateTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'updateTime' not set")) + } + if b.CountChangeTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'countChangeTime' not set")) + } + if b.CountBeforeChange == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'countBeforeChange' not set")) + } + if b.COVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVIncrement' not set")) + } + if b.COVPeriod == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVPeriod' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.HighLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'highLimit' not set")) + } + if b.LowLimit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lowLimit' not set")) + } + if b.Deadband == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'deadband' not set")) + } + if b.LimitEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'limitEnable' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._PulseConverter.deepCopy(), nil +} + +func (b *_PulseConverterBuilder) MustBuild() PulseConverter { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_PulseConverterBuilder) DeepCopy() any { + _copy := b.CreatePulseConverterBuilder().(*_PulseConverterBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreatePulseConverterBuilder creates a PulseConverterBuilder +func (b *_PulseConverter) CreatePulseConverterBuilder() PulseConverterBuilder { + if b == nil { + return NewPulseConverterBuilder() + } + return &_PulseConverterBuilder{_PulseConverter: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_PulseConverter) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_PulseConverter) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_PulseConverter) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_PulseConverter) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_PulseConverter) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_PulseConverter) GetInputReference() OptionalProperty { + return m.InputReference +} + +func (m *_PulseConverter) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_PulseConverter) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_PulseConverter) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_PulseConverter) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_PulseConverter) GetUnits() ReadableProperty { + return m.Units +} + +func (m *_PulseConverter) GetScaleFactor() ReadableProperty { + return m.ScaleFactor +} + +func (m *_PulseConverter) GetAdjustValue() WritableProperty { + return m.AdjustValue +} + +func (m *_PulseConverter) GetCount() ReadableProperty { + return m.Count +} + +func (m *_PulseConverter) GetUpdateTime() ReadableProperty { + return m.UpdateTime +} + +func (m *_PulseConverter) GetCountChangeTime() ReadableProperty { + return m.CountChangeTime +} + +func (m *_PulseConverter) GetCountBeforeChange() ReadableProperty { + return m.CountBeforeChange +} + +func (m *_PulseConverter) GetCOVIncrement() OptionalProperty { + return m.COVIncrement +} + +func (m *_PulseConverter) GetCOVPeriod() OptionalProperty { + return m.COVPeriod +} + +func (m *_PulseConverter) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_PulseConverter) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_PulseConverter) GetHighLimit() OptionalProperty { + return m.HighLimit +} + +func (m *_PulseConverter) GetLowLimit() OptionalProperty { + return m.LowLimit +} + +func (m *_PulseConverter) GetDeadband() OptionalProperty { + return m.Deadband +} + +func (m *_PulseConverter) GetLimitEnable() OptionalProperty { + return m.LimitEnable +} + +func (m *_PulseConverter) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_PulseConverter) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_PulseConverter) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_PulseConverter) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_PulseConverter) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_PulseConverter) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_PulseConverter) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_PulseConverter) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_PulseConverter) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_PulseConverter) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_PulseConverter) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_PulseConverter) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_PulseConverter) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_PulseConverter) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_PulseConverter) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastPulseConverter(structType any) PulseConverter { + if casted, ok := structType.(PulseConverter); ok { + return casted + } + if casted, ok := structType.(*PulseConverter); ok { + return *casted + } + return nil +} + +func (m *_PulseConverter) GetTypeName() string { + return "PulseConverter" +} + +func (m *_PulseConverter) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (inputReference) + lengthInBits += m.InputReference.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (units) + lengthInBits += m.Units.GetLengthInBits(ctx) + + // Simple field (scaleFactor) + lengthInBits += m.ScaleFactor.GetLengthInBits(ctx) + + // Simple field (adjustValue) + lengthInBits += m.AdjustValue.GetLengthInBits(ctx) + + // Simple field (count) + lengthInBits += m.Count.GetLengthInBits(ctx) + + // Simple field (updateTime) + lengthInBits += m.UpdateTime.GetLengthInBits(ctx) + + // Simple field (countChangeTime) + lengthInBits += m.CountChangeTime.GetLengthInBits(ctx) + + // Simple field (countBeforeChange) + lengthInBits += m.CountBeforeChange.GetLengthInBits(ctx) + + // Simple field (cOVIncrement) + lengthInBits += m.COVIncrement.GetLengthInBits(ctx) + + // Simple field (cOVPeriod) + lengthInBits += m.COVPeriod.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (highLimit) + lengthInBits += m.HighLimit.GetLengthInBits(ctx) + + // Simple field (lowLimit) + lengthInBits += m.LowLimit.GetLengthInBits(ctx) + + // Simple field (deadband) + lengthInBits += m.Deadband.GetLengthInBits(ctx) + + // Simple field (limitEnable) + lengthInBits += m.LimitEnable.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_PulseConverter) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func PulseConverterParse(ctx context.Context, theBytes []byte) (PulseConverter, error) { + return PulseConverterParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func PulseConverterParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (PulseConverter, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (PulseConverter, error) { + return PulseConverterParseWithBuffer(ctx, readBuffer) + } +} + +func PulseConverterParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (PulseConverter, error) { + v, err := (&_PulseConverter{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_PulseConverter) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__pulseConverter PulseConverter, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("PulseConverter"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for PulseConverter") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + inputReference, err := ReadSimpleField[OptionalProperty](ctx, "inputReference", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'inputReference' field")) + } + m.InputReference = inputReference + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + units, err := ReadSimpleField[ReadableProperty](ctx, "units", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEngineeringUnits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'units' field")) + } + m.Units = units + + scaleFactor, err := ReadSimpleField[ReadableProperty](ctx, "scaleFactor", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'scaleFactor' field")) + } + m.ScaleFactor = scaleFactor + + adjustValue, err := ReadSimpleField[WritableProperty](ctx, "adjustValue", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'adjustValue' field")) + } + m.AdjustValue = adjustValue + + count, err := ReadSimpleField[ReadableProperty](ctx, "count", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'count' field")) + } + m.Count = count + + updateTime, err := ReadSimpleField[ReadableProperty](ctx, "updateTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'updateTime' field")) + } + m.UpdateTime = updateTime + + countChangeTime, err := ReadSimpleField[ReadableProperty](ctx, "countChangeTime", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'countChangeTime' field")) + } + m.CountChangeTime = countChangeTime + + countBeforeChange, err := ReadSimpleField[ReadableProperty](ctx, "countBeforeChange", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'countBeforeChange' field")) + } + m.CountBeforeChange = countBeforeChange + + cOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "cOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVIncrement' field")) + } + m.COVIncrement = cOVIncrement + + cOVPeriod, err := ReadSimpleField[OptionalProperty](ctx, "cOVPeriod", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVPeriod' field")) + } + m.COVPeriod = cOVPeriod + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + highLimit, err := ReadSimpleField[OptionalProperty](ctx, "highLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'highLimit' field")) + } + m.HighLimit = highLimit + + lowLimit, err := ReadSimpleField[OptionalProperty](ctx, "lowLimit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lowLimit' field")) + } + m.LowLimit = lowLimit + + deadband, err := ReadSimpleField[OptionalProperty](ctx, "deadband", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("REAL")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'deadband' field")) + } + m.Deadband = deadband + + limitEnable, err := ReadSimpleField[OptionalProperty](ctx, "limitEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLimitEnable")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'limitEnable' field")) + } + m.LimitEnable = limitEnable + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("PulseConverter"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for PulseConverter") + } + + return m, nil +} + +func (m *_PulseConverter) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_PulseConverter) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("PulseConverter"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for PulseConverter") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "inputReference", m.GetInputReference(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'inputReference' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "units", m.GetUnits(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'units' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "scaleFactor", m.GetScaleFactor(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'scaleFactor' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "adjustValue", m.GetAdjustValue(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'adjustValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "count", m.GetCount(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'count' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "updateTime", m.GetUpdateTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'updateTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "countChangeTime", m.GetCountChangeTime(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'countChangeTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "countBeforeChange", m.GetCountBeforeChange(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'countBeforeChange' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVIncrement", m.GetCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVIncrement' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVPeriod", m.GetCOVPeriod(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVPeriod' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "highLimit", m.GetHighLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'highLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lowLimit", m.GetLowLimit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lowLimit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "deadband", m.GetDeadband(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'deadband' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "limitEnable", m.GetLimitEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'limitEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("PulseConverter"); popErr != nil { + return errors.Wrap(popErr, "Error popping for PulseConverter") + } + return nil +} + +func (m *_PulseConverter) IsPulseConverter() {} + +func (m *_PulseConverter) DeepCopy() any { + return m.deepCopy() +} + +func (m *_PulseConverter) deepCopy() *_PulseConverter { + if m == nil { + return nil + } + _PulseConverterCopy := &_PulseConverter{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.InputReference.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.Units.DeepCopy().(ReadableProperty), + m.ScaleFactor.DeepCopy().(ReadableProperty), + m.AdjustValue.DeepCopy().(WritableProperty), + m.Count.DeepCopy().(ReadableProperty), + m.UpdateTime.DeepCopy().(ReadableProperty), + m.CountChangeTime.DeepCopy().(ReadableProperty), + m.CountBeforeChange.DeepCopy().(ReadableProperty), + m.COVIncrement.DeepCopy().(OptionalProperty), + m.COVPeriod.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.HighLimit.DeepCopy().(OptionalProperty), + m.LowLimit.DeepCopy().(OptionalProperty), + m.Deadband.DeepCopy().(OptionalProperty), + m.LimitEnable.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _PulseConverterCopy +} + +func (m *_PulseConverter) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/ReadableProperty.go b/plc4go/protocols/bacnetip/readwrite/model/ReadableProperty.go new file mode 100644 index 00000000000..2f1aad405a5 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/ReadableProperty.go @@ -0,0 +1,250 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// ReadableProperty is the corresponding interface of ReadableProperty +type ReadableProperty interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // IsReadableProperty is a marker method to prevent unintentional type checks (interfaces of same signature) + IsReadableProperty() + // CreateBuilder creates a ReadablePropertyBuilder + CreateReadablePropertyBuilder() ReadablePropertyBuilder +} + +// _ReadableProperty is the data-structure of this message +type _ReadableProperty struct { + + // Arguments. + BacType string +} + +var _ ReadableProperty = (*_ReadableProperty)(nil) + +// NewReadableProperty factory function for _ReadableProperty +func NewReadableProperty(bacType string) *_ReadableProperty { + return &_ReadableProperty{BacType: bacType} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// ReadablePropertyBuilder is a builder for ReadableProperty +type ReadablePropertyBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields() ReadablePropertyBuilder + // Build builds the ReadableProperty or returns an error if something is wrong + Build() (ReadableProperty, error) + // MustBuild does the same as Build but panics on error + MustBuild() ReadableProperty +} + +// NewReadablePropertyBuilder() creates a ReadablePropertyBuilder +func NewReadablePropertyBuilder() ReadablePropertyBuilder { + return &_ReadablePropertyBuilder{_ReadableProperty: new(_ReadableProperty)} +} + +type _ReadablePropertyBuilder struct { + *_ReadableProperty + + err *utils.MultiError +} + +var _ (ReadablePropertyBuilder) = (*_ReadablePropertyBuilder)(nil) + +func (b *_ReadablePropertyBuilder) WithMandatoryFields() ReadablePropertyBuilder { + return b +} + +func (b *_ReadablePropertyBuilder) Build() (ReadableProperty, error) { + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._ReadableProperty.deepCopy(), nil +} + +func (b *_ReadablePropertyBuilder) MustBuild() ReadableProperty { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_ReadablePropertyBuilder) DeepCopy() any { + _copy := b.CreateReadablePropertyBuilder().(*_ReadablePropertyBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateReadablePropertyBuilder creates a ReadablePropertyBuilder +func (b *_ReadableProperty) CreateReadablePropertyBuilder() ReadablePropertyBuilder { + if b == nil { + return NewReadablePropertyBuilder() + } + return &_ReadablePropertyBuilder{_ReadableProperty: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastReadableProperty(structType any) ReadableProperty { + if casted, ok := structType.(ReadableProperty); ok { + return casted + } + if casted, ok := structType.(*ReadableProperty); ok { + return *casted + } + return nil +} + +func (m *_ReadableProperty) GetTypeName() string { + return "ReadableProperty" +} + +func (m *_ReadableProperty) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + return lengthInBits +} + +func (m *_ReadableProperty) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func ReadablePropertyParse(ctx context.Context, theBytes []byte, bacType string) (ReadableProperty, error) { + return ReadablePropertyParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes), bacType) +} + +func ReadablePropertyParseWithBufferProducer(bacType string) func(ctx context.Context, readBuffer utils.ReadBuffer) (ReadableProperty, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (ReadableProperty, error) { + return ReadablePropertyParseWithBuffer(ctx, readBuffer, bacType) + } +} + +func ReadablePropertyParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, bacType string) (ReadableProperty, error) { + v, err := (&_ReadableProperty{BacType: bacType}).parse(ctx, readBuffer, bacType) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_ReadableProperty) parse(ctx context.Context, readBuffer utils.ReadBuffer, bacType string) (__readableProperty ReadableProperty, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("ReadableProperty"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for ReadableProperty") + } + currentPos := positionAware.GetPos() + _ = currentPos + + if closeErr := readBuffer.CloseContext("ReadableProperty"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for ReadableProperty") + } + + return m, nil +} + +func (m *_ReadableProperty) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_ReadableProperty) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("ReadableProperty"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for ReadableProperty") + } + + if popErr := writeBuffer.PopContext("ReadableProperty"); popErr != nil { + return errors.Wrap(popErr, "Error popping for ReadableProperty") + } + return nil +} + +//// +// Arguments Getter + +func (m *_ReadableProperty) GetBacType() string { + return m.BacType +} + +// +//// + +func (m *_ReadableProperty) IsReadableProperty() {} + +func (m *_ReadableProperty) DeepCopy() any { + return m.deepCopy() +} + +func (m *_ReadableProperty) deepCopy() *_ReadableProperty { + if m == nil { + return nil + } + _ReadablePropertyCopy := &_ReadableProperty{ + m.BacType, + } + return _ReadablePropertyCopy +} + +func (m *_ReadableProperty) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Schedule.go b/plc4go/protocols/bacnetip/readwrite/model/Schedule.go new file mode 100644 index 00000000000..95f167e08db --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Schedule.go @@ -0,0 +1,1704 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Schedule is the corresponding interface of Schedule +type Schedule interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetEffectivePeriod returns EffectivePeriod (property field) + GetEffectivePeriod() ReadableProperty + // GetWeeklySchedule returns WeeklySchedule (property field) + GetWeeklySchedule() OptionalProperty + // GetExceptionSchedule returns ExceptionSchedule (property field) + GetExceptionSchedule() OptionalProperty + // GetScheduleDefault returns ScheduleDefault (property field) + GetScheduleDefault() ReadableProperty + // GetListOfObjectPropertyReferences returns ListOfObjectPropertyReferences (property field) + GetListOfObjectPropertyReferences() ReadableProperty + // GetPriorityForWriting returns PriorityForWriting (property field) + GetPriorityForWriting() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() ReadableProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsSchedule is a marker method to prevent unintentional type checks (interfaces of same signature) + IsSchedule() + // CreateBuilder creates a ScheduleBuilder + CreateScheduleBuilder() ScheduleBuilder +} + +// _Schedule is the data-structure of this message +type _Schedule struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + PresentValue ReadableProperty + Description OptionalProperty + EffectivePeriod ReadableProperty + WeeklySchedule OptionalProperty + ExceptionSchedule OptionalProperty + ScheduleDefault ReadableProperty + ListOfObjectPropertyReferences ReadableProperty + PriorityForWriting ReadableProperty + StatusFlags ReadableProperty + Reliability ReadableProperty + OutOfService ReadableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + EventState OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Schedule = (*_Schedule)(nil) + +// NewSchedule factory function for _Schedule +func NewSchedule(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, effectivePeriod ReadableProperty, weeklySchedule OptionalProperty, exceptionSchedule OptionalProperty, scheduleDefault ReadableProperty, listOfObjectPropertyReferences ReadableProperty, priorityForWriting ReadableProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Schedule { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Schedule must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Schedule must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Schedule must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for Schedule must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Schedule must not be nil") + } + if effectivePeriod == nil { + panic("effectivePeriod of type ReadableProperty for Schedule must not be nil") + } + if weeklySchedule == nil { + panic("weeklySchedule of type OptionalProperty for Schedule must not be nil") + } + if exceptionSchedule == nil { + panic("exceptionSchedule of type OptionalProperty for Schedule must not be nil") + } + if scheduleDefault == nil { + panic("scheduleDefault of type ReadableProperty for Schedule must not be nil") + } + if listOfObjectPropertyReferences == nil { + panic("listOfObjectPropertyReferences of type ReadableProperty for Schedule must not be nil") + } + if priorityForWriting == nil { + panic("priorityForWriting of type ReadableProperty for Schedule must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for Schedule must not be nil") + } + if reliability == nil { + panic("reliability of type ReadableProperty for Schedule must not be nil") + } + if outOfService == nil { + panic("outOfService of type ReadableProperty for Schedule must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Schedule must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Schedule must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Schedule must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for Schedule must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Schedule must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Schedule must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Schedule must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Schedule must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Schedule must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Schedule must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Schedule must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Schedule must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Schedule must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Schedule must not be nil") + } + return &_Schedule{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, PresentValue: presentValue, Description: description, EffectivePeriod: effectivePeriod, WeeklySchedule: weeklySchedule, ExceptionSchedule: exceptionSchedule, ScheduleDefault: scheduleDefault, ListOfObjectPropertyReferences: listOfObjectPropertyReferences, PriorityForWriting: priorityForWriting, StatusFlags: statusFlags, Reliability: reliability, OutOfService: outOfService, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, EventState: eventState, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// ScheduleBuilder is a builder for Schedule +type ScheduleBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, effectivePeriod ReadableProperty, weeklySchedule OptionalProperty, exceptionSchedule OptionalProperty, scheduleDefault ReadableProperty, listOfObjectPropertyReferences ReadableProperty, priorityForWriting ReadableProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) ScheduleBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) ScheduleBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) ScheduleBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) ScheduleBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) ScheduleBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) ScheduleBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithEffectivePeriod adds EffectivePeriod (property field) + WithEffectivePeriod(ReadableProperty) ScheduleBuilder + // WithEffectivePeriodBuilder adds EffectivePeriod (property field) which is build by the builder + WithEffectivePeriodBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithWeeklySchedule adds WeeklySchedule (property field) + WithWeeklySchedule(OptionalProperty) ScheduleBuilder + // WithWeeklyScheduleBuilder adds WeeklySchedule (property field) which is build by the builder + WithWeeklyScheduleBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithExceptionSchedule adds ExceptionSchedule (property field) + WithExceptionSchedule(OptionalProperty) ScheduleBuilder + // WithExceptionScheduleBuilder adds ExceptionSchedule (property field) which is build by the builder + WithExceptionScheduleBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithScheduleDefault adds ScheduleDefault (property field) + WithScheduleDefault(ReadableProperty) ScheduleBuilder + // WithScheduleDefaultBuilder adds ScheduleDefault (property field) which is build by the builder + WithScheduleDefaultBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithListOfObjectPropertyReferences adds ListOfObjectPropertyReferences (property field) + WithListOfObjectPropertyReferences(ReadableProperty) ScheduleBuilder + // WithListOfObjectPropertyReferencesBuilder adds ListOfObjectPropertyReferences (property field) which is build by the builder + WithListOfObjectPropertyReferencesBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithPriorityForWriting adds PriorityForWriting (property field) + WithPriorityForWriting(ReadableProperty) ScheduleBuilder + // WithPriorityForWritingBuilder adds PriorityForWriting (property field) which is build by the builder + WithPriorityForWritingBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) ScheduleBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithReliability adds Reliability (property field) + WithReliability(ReadableProperty) ScheduleBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(ReadableProperty) ScheduleBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) ScheduleBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) ScheduleBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) ScheduleBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) ScheduleBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) ScheduleBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) ScheduleBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) ScheduleBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) ScheduleBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) ScheduleBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) ScheduleBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) ScheduleBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) ScheduleBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) ScheduleBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) ScheduleBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder + // Build builds the Schedule or returns an error if something is wrong + Build() (Schedule, error) + // MustBuild does the same as Build but panics on error + MustBuild() Schedule +} + +// NewScheduleBuilder() creates a ScheduleBuilder +func NewScheduleBuilder() ScheduleBuilder { + return &_ScheduleBuilder{_Schedule: new(_Schedule)} +} + +type _ScheduleBuilder struct { + *_Schedule + + err *utils.MultiError +} + +var _ (ScheduleBuilder) = (*_ScheduleBuilder)(nil) + +func (b *_ScheduleBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, presentValue ReadableProperty, description OptionalProperty, effectivePeriod ReadableProperty, weeklySchedule OptionalProperty, exceptionSchedule OptionalProperty, scheduleDefault ReadableProperty, listOfObjectPropertyReferences ReadableProperty, priorityForWriting ReadableProperty, statusFlags ReadableProperty, reliability ReadableProperty, outOfService ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, eventState OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) ScheduleBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithPresentValue(presentValue).WithDescription(description).WithEffectivePeriod(effectivePeriod).WithWeeklySchedule(weeklySchedule).WithExceptionSchedule(exceptionSchedule).WithScheduleDefault(scheduleDefault).WithListOfObjectPropertyReferences(listOfObjectPropertyReferences).WithPriorityForWriting(priorityForWriting).WithStatusFlags(statusFlags).WithReliability(reliability).WithOutOfService(outOfService).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithEventState(eventState).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_ScheduleBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) ScheduleBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_ScheduleBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithObjectName(objectName ReadableProperty) ScheduleBuilder { + b.ObjectName = objectName + return b +} + +func (b *_ScheduleBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithObjectType(objectType ReadableProperty) ScheduleBuilder { + b.ObjectType = objectType + return b +} + +func (b *_ScheduleBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithPresentValue(presentValue ReadableProperty) ScheduleBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_ScheduleBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithDescription(description OptionalProperty) ScheduleBuilder { + b.Description = description + return b +} + +func (b *_ScheduleBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithEffectivePeriod(effectivePeriod ReadableProperty) ScheduleBuilder { + b.EffectivePeriod = effectivePeriod + return b +} + +func (b *_ScheduleBuilder) WithEffectivePeriodBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.EffectivePeriod.CreateReadablePropertyBuilder()) + var err error + b.EffectivePeriod, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithWeeklySchedule(weeklySchedule OptionalProperty) ScheduleBuilder { + b.WeeklySchedule = weeklySchedule + return b +} + +func (b *_ScheduleBuilder) WithWeeklyScheduleBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.WeeklySchedule.CreateOptionalPropertyBuilder()) + var err error + b.WeeklySchedule, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithExceptionSchedule(exceptionSchedule OptionalProperty) ScheduleBuilder { + b.ExceptionSchedule = exceptionSchedule + return b +} + +func (b *_ScheduleBuilder) WithExceptionScheduleBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.ExceptionSchedule.CreateOptionalPropertyBuilder()) + var err error + b.ExceptionSchedule, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithScheduleDefault(scheduleDefault ReadableProperty) ScheduleBuilder { + b.ScheduleDefault = scheduleDefault + return b +} + +func (b *_ScheduleBuilder) WithScheduleDefaultBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.ScheduleDefault.CreateReadablePropertyBuilder()) + var err error + b.ScheduleDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithListOfObjectPropertyReferences(listOfObjectPropertyReferences ReadableProperty) ScheduleBuilder { + b.ListOfObjectPropertyReferences = listOfObjectPropertyReferences + return b +} + +func (b *_ScheduleBuilder) WithListOfObjectPropertyReferencesBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.ListOfObjectPropertyReferences.CreateReadablePropertyBuilder()) + var err error + b.ListOfObjectPropertyReferences, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithPriorityForWriting(priorityForWriting ReadableProperty) ScheduleBuilder { + b.PriorityForWriting = priorityForWriting + return b +} + +func (b *_ScheduleBuilder) WithPriorityForWritingBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.PriorityForWriting.CreateReadablePropertyBuilder()) + var err error + b.PriorityForWriting, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithStatusFlags(statusFlags ReadableProperty) ScheduleBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_ScheduleBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithReliability(reliability ReadableProperty) ScheduleBuilder { + b.Reliability = reliability + return b +} + +func (b *_ScheduleBuilder) WithReliabilityBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.Reliability.CreateReadablePropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithOutOfService(outOfService ReadableProperty) ScheduleBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_ScheduleBuilder) WithOutOfServiceBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.OutOfService.CreateReadablePropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) ScheduleBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_ScheduleBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithNotificationClass(notificationClass OptionalProperty) ScheduleBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_ScheduleBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithEventEnable(eventEnable OptionalProperty) ScheduleBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_ScheduleBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithEventState(eventState OptionalProperty) ScheduleBuilder { + b.EventState = eventState + return b +} + +func (b *_ScheduleBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) ScheduleBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_ScheduleBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithNotifyType(notifyType OptionalProperty) ScheduleBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_ScheduleBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) ScheduleBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_ScheduleBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) ScheduleBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_ScheduleBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) ScheduleBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_ScheduleBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) ScheduleBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_ScheduleBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithPropertyList(propertyList ReadableProperty) ScheduleBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_ScheduleBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithTags(tags OptionalProperty) ScheduleBuilder { + b.Tags = tags + return b +} + +func (b *_ScheduleBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithProfileLocation(profileLocation OptionalProperty) ScheduleBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_ScheduleBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) WithProfileName(profileName OptionalProperty) ScheduleBuilder { + b.ProfileName = profileName + return b +} + +func (b *_ScheduleBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) ScheduleBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_ScheduleBuilder) Build() (Schedule, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.EffectivePeriod == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'effectivePeriod' not set")) + } + if b.WeeklySchedule == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'weeklySchedule' not set")) + } + if b.ExceptionSchedule == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'exceptionSchedule' not set")) + } + if b.ScheduleDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'scheduleDefault' not set")) + } + if b.ListOfObjectPropertyReferences == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'listOfObjectPropertyReferences' not set")) + } + if b.PriorityForWriting == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityForWriting' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Schedule.deepCopy(), nil +} + +func (b *_ScheduleBuilder) MustBuild() Schedule { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_ScheduleBuilder) DeepCopy() any { + _copy := b.CreateScheduleBuilder().(*_ScheduleBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateScheduleBuilder creates a ScheduleBuilder +func (b *_Schedule) CreateScheduleBuilder() ScheduleBuilder { + if b == nil { + return NewScheduleBuilder() + } + return &_ScheduleBuilder{_Schedule: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Schedule) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Schedule) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Schedule) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Schedule) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_Schedule) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Schedule) GetEffectivePeriod() ReadableProperty { + return m.EffectivePeriod +} + +func (m *_Schedule) GetWeeklySchedule() OptionalProperty { + return m.WeeklySchedule +} + +func (m *_Schedule) GetExceptionSchedule() OptionalProperty { + return m.ExceptionSchedule +} + +func (m *_Schedule) GetScheduleDefault() ReadableProperty { + return m.ScheduleDefault +} + +func (m *_Schedule) GetListOfObjectPropertyReferences() ReadableProperty { + return m.ListOfObjectPropertyReferences +} + +func (m *_Schedule) GetPriorityForWriting() ReadableProperty { + return m.PriorityForWriting +} + +func (m *_Schedule) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_Schedule) GetReliability() ReadableProperty { + return m.Reliability +} + +func (m *_Schedule) GetOutOfService() ReadableProperty { + return m.OutOfService +} + +func (m *_Schedule) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Schedule) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Schedule) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Schedule) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_Schedule) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Schedule) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Schedule) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Schedule) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Schedule) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Schedule) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Schedule) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Schedule) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Schedule) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Schedule) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastSchedule(structType any) Schedule { + if casted, ok := structType.(Schedule); ok { + return casted + } + if casted, ok := structType.(*Schedule); ok { + return *casted + } + return nil +} + +func (m *_Schedule) GetTypeName() string { + return "Schedule" +} + +func (m *_Schedule) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (effectivePeriod) + lengthInBits += m.EffectivePeriod.GetLengthInBits(ctx) + + // Simple field (weeklySchedule) + lengthInBits += m.WeeklySchedule.GetLengthInBits(ctx) + + // Simple field (exceptionSchedule) + lengthInBits += m.ExceptionSchedule.GetLengthInBits(ctx) + + // Simple field (scheduleDefault) + lengthInBits += m.ScheduleDefault.GetLengthInBits(ctx) + + // Simple field (listOfObjectPropertyReferences) + lengthInBits += m.ListOfObjectPropertyReferences.GetLengthInBits(ctx) + + // Simple field (priorityForWriting) + lengthInBits += m.PriorityForWriting.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Schedule) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func ScheduleParse(ctx context.Context, theBytes []byte) (Schedule, error) { + return ScheduleParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func ScheduleParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Schedule, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Schedule, error) { + return ScheduleParseWithBuffer(ctx, readBuffer) + } +} + +func ScheduleParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Schedule, error) { + v, err := (&_Schedule{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Schedule) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__schedule Schedule, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Schedule"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Schedule") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Any")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + effectivePeriod, err := ReadSimpleField[ReadableProperty](ctx, "effectivePeriod", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetDateRange")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'effectivePeriod' field")) + } + m.EffectivePeriod = effectivePeriod + + weeklySchedule, err := ReadSimpleField[OptionalProperty](ctx, "weeklySchedule", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[7] of BACnetDailySchedule")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'weeklySchedule' field")) + } + m.WeeklySchedule = weeklySchedule + + exceptionSchedule, err := ReadSimpleField[OptionalProperty](ctx, "exceptionSchedule", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetSpecialEvent")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'exceptionSchedule' field")) + } + m.ExceptionSchedule = exceptionSchedule + + scheduleDefault, err := ReadSimpleField[ReadableProperty](ctx, "scheduleDefault", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Any")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'scheduleDefault' field")) + } + m.ScheduleDefault = scheduleDefault + + listOfObjectPropertyReferences, err := ReadSimpleField[ReadableProperty](ctx, "listOfObjectPropertyReferences", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'listOfObjectPropertyReferences' field")) + } + m.ListOfObjectPropertyReferences = listOfObjectPropertyReferences + + priorityForWriting, err := ReadSimpleField[ReadableProperty](ctx, "priorityForWriting", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned(1..16)")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityForWriting' field")) + } + m.PriorityForWriting = priorityForWriting + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[ReadableProperty](ctx, "reliability", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[ReadableProperty](ctx, "outOfService", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Schedule"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Schedule") + } + + return m, nil +} + +func (m *_Schedule) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Schedule) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Schedule"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Schedule") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "effectivePeriod", m.GetEffectivePeriod(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'effectivePeriod' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "weeklySchedule", m.GetWeeklySchedule(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'weeklySchedule' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "exceptionSchedule", m.GetExceptionSchedule(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'exceptionSchedule' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "scheduleDefault", m.GetScheduleDefault(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'scheduleDefault' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "listOfObjectPropertyReferences", m.GetListOfObjectPropertyReferences(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'listOfObjectPropertyReferences' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "priorityForWriting", m.GetPriorityForWriting(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityForWriting' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "reliability", m.GetReliability(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Schedule"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Schedule") + } + return nil +} + +func (m *_Schedule) IsSchedule() {} + +func (m *_Schedule) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Schedule) deepCopy() *_Schedule { + if m == nil { + return nil + } + _ScheduleCopy := &_Schedule{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.EffectivePeriod.DeepCopy().(ReadableProperty), + m.WeeklySchedule.DeepCopy().(OptionalProperty), + m.ExceptionSchedule.DeepCopy().(OptionalProperty), + m.ScheduleDefault.DeepCopy().(ReadableProperty), + m.ListOfObjectPropertyReferences.DeepCopy().(ReadableProperty), + m.PriorityForWriting.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(ReadableProperty), + m.OutOfService.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _ScheduleCopy +} + +func (m *_Schedule) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/StructuredView.go b/plc4go/protocols/bacnetip/readwrite/model/StructuredView.go new file mode 100644 index 00000000000..a92a19fbbdd --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/StructuredView.go @@ -0,0 +1,1132 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// StructuredView is the corresponding interface of StructuredView +type StructuredView interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetNodeType returns NodeType (property field) + GetNodeType() ReadableProperty + // GetNodeSubtype returns NodeSubtype (property field) + GetNodeSubtype() OptionalProperty + // GetSubordinateList returns SubordinateList (property field) + GetSubordinateList() ReadableProperty + // GetSubordinateAnnotations returns SubordinateAnnotations (property field) + GetSubordinateAnnotations() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetSubordinateTags returns SubordinateTags (property field) + GetSubordinateTags() OptionalProperty + // GetSubordinateNodeTypes returns SubordinateNodeTypes (property field) + GetSubordinateNodeTypes() OptionalProperty + // GetSubordinateRelationships returns SubordinateRelationships (property field) + GetSubordinateRelationships() OptionalProperty + // GetDefaultSubordinateRelationship returns DefaultSubordinateRelationship (property field) + GetDefaultSubordinateRelationship() OptionalProperty + // GetRepresents returns Represents (property field) + GetRepresents() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsStructuredView is a marker method to prevent unintentional type checks (interfaces of same signature) + IsStructuredView() + // CreateBuilder creates a StructuredViewBuilder + CreateStructuredViewBuilder() StructuredViewBuilder +} + +// _StructuredView is the data-structure of this message +type _StructuredView struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + NodeType ReadableProperty + NodeSubtype OptionalProperty + SubordinateList ReadableProperty + SubordinateAnnotations OptionalProperty + PropertyList ReadableProperty + SubordinateTags OptionalProperty + SubordinateNodeTypes OptionalProperty + SubordinateRelationships OptionalProperty + DefaultSubordinateRelationship OptionalProperty + Represents OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ StructuredView = (*_StructuredView)(nil) + +// NewStructuredView factory function for _StructuredView +func NewStructuredView(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, nodeType ReadableProperty, nodeSubtype OptionalProperty, subordinateList ReadableProperty, subordinateAnnotations OptionalProperty, propertyList ReadableProperty, subordinateTags OptionalProperty, subordinateNodeTypes OptionalProperty, subordinateRelationships OptionalProperty, defaultSubordinateRelationship OptionalProperty, represents OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_StructuredView { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for StructuredView must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for StructuredView must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for StructuredView must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for StructuredView must not be nil") + } + if nodeType == nil { + panic("nodeType of type ReadableProperty for StructuredView must not be nil") + } + if nodeSubtype == nil { + panic("nodeSubtype of type OptionalProperty for StructuredView must not be nil") + } + if subordinateList == nil { + panic("subordinateList of type ReadableProperty for StructuredView must not be nil") + } + if subordinateAnnotations == nil { + panic("subordinateAnnotations of type OptionalProperty for StructuredView must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for StructuredView must not be nil") + } + if subordinateTags == nil { + panic("subordinateTags of type OptionalProperty for StructuredView must not be nil") + } + if subordinateNodeTypes == nil { + panic("subordinateNodeTypes of type OptionalProperty for StructuredView must not be nil") + } + if subordinateRelationships == nil { + panic("subordinateRelationships of type OptionalProperty for StructuredView must not be nil") + } + if defaultSubordinateRelationship == nil { + panic("defaultSubordinateRelationship of type OptionalProperty for StructuredView must not be nil") + } + if represents == nil { + panic("represents of type OptionalProperty for StructuredView must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for StructuredView must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for StructuredView must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for StructuredView must not be nil") + } + return &_StructuredView{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, NodeType: nodeType, NodeSubtype: nodeSubtype, SubordinateList: subordinateList, SubordinateAnnotations: subordinateAnnotations, PropertyList: propertyList, SubordinateTags: subordinateTags, SubordinateNodeTypes: subordinateNodeTypes, SubordinateRelationships: subordinateRelationships, DefaultSubordinateRelationship: defaultSubordinateRelationship, Represents: represents, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// StructuredViewBuilder is a builder for StructuredView +type StructuredViewBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, nodeType ReadableProperty, nodeSubtype OptionalProperty, subordinateList ReadableProperty, subordinateAnnotations OptionalProperty, propertyList ReadableProperty, subordinateTags OptionalProperty, subordinateNodeTypes OptionalProperty, subordinateRelationships OptionalProperty, defaultSubordinateRelationship OptionalProperty, represents OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) StructuredViewBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) StructuredViewBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) StructuredViewBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) StructuredViewBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) StructuredViewBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithNodeType adds NodeType (property field) + WithNodeType(ReadableProperty) StructuredViewBuilder + // WithNodeTypeBuilder adds NodeType (property field) which is build by the builder + WithNodeTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder + // WithNodeSubtype adds NodeSubtype (property field) + WithNodeSubtype(OptionalProperty) StructuredViewBuilder + // WithNodeSubtypeBuilder adds NodeSubtype (property field) which is build by the builder + WithNodeSubtypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithSubordinateList adds SubordinateList (property field) + WithSubordinateList(ReadableProperty) StructuredViewBuilder + // WithSubordinateListBuilder adds SubordinateList (property field) which is build by the builder + WithSubordinateListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder + // WithSubordinateAnnotations adds SubordinateAnnotations (property field) + WithSubordinateAnnotations(OptionalProperty) StructuredViewBuilder + // WithSubordinateAnnotationsBuilder adds SubordinateAnnotations (property field) which is build by the builder + WithSubordinateAnnotationsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) StructuredViewBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder + // WithSubordinateTags adds SubordinateTags (property field) + WithSubordinateTags(OptionalProperty) StructuredViewBuilder + // WithSubordinateTagsBuilder adds SubordinateTags (property field) which is build by the builder + WithSubordinateTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithSubordinateNodeTypes adds SubordinateNodeTypes (property field) + WithSubordinateNodeTypes(OptionalProperty) StructuredViewBuilder + // WithSubordinateNodeTypesBuilder adds SubordinateNodeTypes (property field) which is build by the builder + WithSubordinateNodeTypesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithSubordinateRelationships adds SubordinateRelationships (property field) + WithSubordinateRelationships(OptionalProperty) StructuredViewBuilder + // WithSubordinateRelationshipsBuilder adds SubordinateRelationships (property field) which is build by the builder + WithSubordinateRelationshipsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithDefaultSubordinateRelationship adds DefaultSubordinateRelationship (property field) + WithDefaultSubordinateRelationship(OptionalProperty) StructuredViewBuilder + // WithDefaultSubordinateRelationshipBuilder adds DefaultSubordinateRelationship (property field) which is build by the builder + WithDefaultSubordinateRelationshipBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithRepresents adds Represents (property field) + WithRepresents(OptionalProperty) StructuredViewBuilder + // WithRepresentsBuilder adds Represents (property field) which is build by the builder + WithRepresentsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) StructuredViewBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) StructuredViewBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) StructuredViewBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder + // Build builds the StructuredView or returns an error if something is wrong + Build() (StructuredView, error) + // MustBuild does the same as Build but panics on error + MustBuild() StructuredView +} + +// NewStructuredViewBuilder() creates a StructuredViewBuilder +func NewStructuredViewBuilder() StructuredViewBuilder { + return &_StructuredViewBuilder{_StructuredView: new(_StructuredView)} +} + +type _StructuredViewBuilder struct { + *_StructuredView + + err *utils.MultiError +} + +var _ (StructuredViewBuilder) = (*_StructuredViewBuilder)(nil) + +func (b *_StructuredViewBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, nodeType ReadableProperty, nodeSubtype OptionalProperty, subordinateList ReadableProperty, subordinateAnnotations OptionalProperty, propertyList ReadableProperty, subordinateTags OptionalProperty, subordinateNodeTypes OptionalProperty, subordinateRelationships OptionalProperty, defaultSubordinateRelationship OptionalProperty, represents OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) StructuredViewBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithNodeType(nodeType).WithNodeSubtype(nodeSubtype).WithSubordinateList(subordinateList).WithSubordinateAnnotations(subordinateAnnotations).WithPropertyList(propertyList).WithSubordinateTags(subordinateTags).WithSubordinateNodeTypes(subordinateNodeTypes).WithSubordinateRelationships(subordinateRelationships).WithDefaultSubordinateRelationship(defaultSubordinateRelationship).WithRepresents(represents).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_StructuredViewBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) StructuredViewBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_StructuredViewBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithObjectName(objectName ReadableProperty) StructuredViewBuilder { + b.ObjectName = objectName + return b +} + +func (b *_StructuredViewBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithObjectType(objectType ReadableProperty) StructuredViewBuilder { + b.ObjectType = objectType + return b +} + +func (b *_StructuredViewBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithDescription(description OptionalProperty) StructuredViewBuilder { + b.Description = description + return b +} + +func (b *_StructuredViewBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithNodeType(nodeType ReadableProperty) StructuredViewBuilder { + b.NodeType = nodeType + return b +} + +func (b *_StructuredViewBuilder) WithNodeTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.NodeType.CreateReadablePropertyBuilder()) + var err error + b.NodeType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithNodeSubtype(nodeSubtype OptionalProperty) StructuredViewBuilder { + b.NodeSubtype = nodeSubtype + return b +} + +func (b *_StructuredViewBuilder) WithNodeSubtypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.NodeSubtype.CreateOptionalPropertyBuilder()) + var err error + b.NodeSubtype, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateList(subordinateList ReadableProperty) StructuredViewBuilder { + b.SubordinateList = subordinateList + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.SubordinateList.CreateReadablePropertyBuilder()) + var err error + b.SubordinateList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateAnnotations(subordinateAnnotations OptionalProperty) StructuredViewBuilder { + b.SubordinateAnnotations = subordinateAnnotations + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateAnnotationsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.SubordinateAnnotations.CreateOptionalPropertyBuilder()) + var err error + b.SubordinateAnnotations, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithPropertyList(propertyList ReadableProperty) StructuredViewBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_StructuredViewBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateTags(subordinateTags OptionalProperty) StructuredViewBuilder { + b.SubordinateTags = subordinateTags + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.SubordinateTags.CreateOptionalPropertyBuilder()) + var err error + b.SubordinateTags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateNodeTypes(subordinateNodeTypes OptionalProperty) StructuredViewBuilder { + b.SubordinateNodeTypes = subordinateNodeTypes + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateNodeTypesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.SubordinateNodeTypes.CreateOptionalPropertyBuilder()) + var err error + b.SubordinateNodeTypes, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateRelationships(subordinateRelationships OptionalProperty) StructuredViewBuilder { + b.SubordinateRelationships = subordinateRelationships + return b +} + +func (b *_StructuredViewBuilder) WithSubordinateRelationshipsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.SubordinateRelationships.CreateOptionalPropertyBuilder()) + var err error + b.SubordinateRelationships, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithDefaultSubordinateRelationship(defaultSubordinateRelationship OptionalProperty) StructuredViewBuilder { + b.DefaultSubordinateRelationship = defaultSubordinateRelationship + return b +} + +func (b *_StructuredViewBuilder) WithDefaultSubordinateRelationshipBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.DefaultSubordinateRelationship.CreateOptionalPropertyBuilder()) + var err error + b.DefaultSubordinateRelationship, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithRepresents(represents OptionalProperty) StructuredViewBuilder { + b.Represents = represents + return b +} + +func (b *_StructuredViewBuilder) WithRepresentsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.Represents.CreateOptionalPropertyBuilder()) + var err error + b.Represents, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithTags(tags OptionalProperty) StructuredViewBuilder { + b.Tags = tags + return b +} + +func (b *_StructuredViewBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithProfileLocation(profileLocation OptionalProperty) StructuredViewBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_StructuredViewBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) WithProfileName(profileName OptionalProperty) StructuredViewBuilder { + b.ProfileName = profileName + return b +} + +func (b *_StructuredViewBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) StructuredViewBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_StructuredViewBuilder) Build() (StructuredView, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.NodeType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'nodeType' not set")) + } + if b.NodeSubtype == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'nodeSubtype' not set")) + } + if b.SubordinateList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'subordinateList' not set")) + } + if b.SubordinateAnnotations == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'subordinateAnnotations' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.SubordinateTags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'subordinateTags' not set")) + } + if b.SubordinateNodeTypes == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'subordinateNodeTypes' not set")) + } + if b.SubordinateRelationships == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'subordinateRelationships' not set")) + } + if b.DefaultSubordinateRelationship == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'defaultSubordinateRelationship' not set")) + } + if b.Represents == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'represents' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._StructuredView.deepCopy(), nil +} + +func (b *_StructuredViewBuilder) MustBuild() StructuredView { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_StructuredViewBuilder) DeepCopy() any { + _copy := b.CreateStructuredViewBuilder().(*_StructuredViewBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateStructuredViewBuilder creates a StructuredViewBuilder +func (b *_StructuredView) CreateStructuredViewBuilder() StructuredViewBuilder { + if b == nil { + return NewStructuredViewBuilder() + } + return &_StructuredViewBuilder{_StructuredView: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_StructuredView) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_StructuredView) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_StructuredView) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_StructuredView) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_StructuredView) GetNodeType() ReadableProperty { + return m.NodeType +} + +func (m *_StructuredView) GetNodeSubtype() OptionalProperty { + return m.NodeSubtype +} + +func (m *_StructuredView) GetSubordinateList() ReadableProperty { + return m.SubordinateList +} + +func (m *_StructuredView) GetSubordinateAnnotations() OptionalProperty { + return m.SubordinateAnnotations +} + +func (m *_StructuredView) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_StructuredView) GetSubordinateTags() OptionalProperty { + return m.SubordinateTags +} + +func (m *_StructuredView) GetSubordinateNodeTypes() OptionalProperty { + return m.SubordinateNodeTypes +} + +func (m *_StructuredView) GetSubordinateRelationships() OptionalProperty { + return m.SubordinateRelationships +} + +func (m *_StructuredView) GetDefaultSubordinateRelationship() OptionalProperty { + return m.DefaultSubordinateRelationship +} + +func (m *_StructuredView) GetRepresents() OptionalProperty { + return m.Represents +} + +func (m *_StructuredView) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_StructuredView) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_StructuredView) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastStructuredView(structType any) StructuredView { + if casted, ok := structType.(StructuredView); ok { + return casted + } + if casted, ok := structType.(*StructuredView); ok { + return *casted + } + return nil +} + +func (m *_StructuredView) GetTypeName() string { + return "StructuredView" +} + +func (m *_StructuredView) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (nodeType) + lengthInBits += m.NodeType.GetLengthInBits(ctx) + + // Simple field (nodeSubtype) + lengthInBits += m.NodeSubtype.GetLengthInBits(ctx) + + // Simple field (subordinateList) + lengthInBits += m.SubordinateList.GetLengthInBits(ctx) + + // Simple field (subordinateAnnotations) + lengthInBits += m.SubordinateAnnotations.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (subordinateTags) + lengthInBits += m.SubordinateTags.GetLengthInBits(ctx) + + // Simple field (subordinateNodeTypes) + lengthInBits += m.SubordinateNodeTypes.GetLengthInBits(ctx) + + // Simple field (subordinateRelationships) + lengthInBits += m.SubordinateRelationships.GetLengthInBits(ctx) + + // Simple field (defaultSubordinateRelationship) + lengthInBits += m.DefaultSubordinateRelationship.GetLengthInBits(ctx) + + // Simple field (represents) + lengthInBits += m.Represents.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_StructuredView) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func StructuredViewParse(ctx context.Context, theBytes []byte) (StructuredView, error) { + return StructuredViewParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func StructuredViewParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (StructuredView, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (StructuredView, error) { + return StructuredViewParseWithBuffer(ctx, readBuffer) + } +} + +func StructuredViewParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (StructuredView, error) { + v, err := (&_StructuredView{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_StructuredView) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__structuredView StructuredView, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("StructuredView"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for StructuredView") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + nodeType, err := ReadSimpleField[ReadableProperty](ctx, "nodeType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetNodeType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'nodeType' field")) + } + m.NodeType = nodeType + + nodeSubtype, err := ReadSimpleField[OptionalProperty](ctx, "nodeSubtype", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'nodeSubtype' field")) + } + m.NodeSubtype = nodeSubtype + + subordinateList, err := ReadSimpleField[ReadableProperty](ctx, "subordinateList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'subordinateList' field")) + } + m.SubordinateList = subordinateList + + subordinateAnnotations, err := ReadSimpleField[OptionalProperty](ctx, "subordinateAnnotations", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'subordinateAnnotations' field")) + } + m.SubordinateAnnotations = subordinateAnnotations + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + subordinateTags, err := ReadSimpleField[OptionalProperty](ctx, "subordinateTags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValueCollection")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'subordinateTags' field")) + } + m.SubordinateTags = subordinateTags + + subordinateNodeTypes, err := ReadSimpleField[OptionalProperty](ctx, "subordinateNodeTypes", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNodeType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'subordinateNodeTypes' field")) + } + m.SubordinateNodeTypes = subordinateNodeTypes + + subordinateRelationships, err := ReadSimpleField[OptionalProperty](ctx, "subordinateRelationships", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetRelationship")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'subordinateRelationships' field")) + } + m.SubordinateRelationships = subordinateRelationships + + defaultSubordinateRelationship, err := ReadSimpleField[OptionalProperty](ctx, "defaultSubordinateRelationship", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetRelationship")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'defaultSubordinateRelationship' field")) + } + m.DefaultSubordinateRelationship = defaultSubordinateRelationship + + represents, err := ReadSimpleField[OptionalProperty](ctx, "represents", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'represents' field")) + } + m.Represents = represents + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("StructuredView"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for StructuredView") + } + + return m, nil +} + +func (m *_StructuredView) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_StructuredView) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("StructuredView"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for StructuredView") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "nodeType", m.GetNodeType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'nodeType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "nodeSubtype", m.GetNodeSubtype(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'nodeSubtype' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "subordinateList", m.GetSubordinateList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'subordinateList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "subordinateAnnotations", m.GetSubordinateAnnotations(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'subordinateAnnotations' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "subordinateTags", m.GetSubordinateTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'subordinateTags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "subordinateNodeTypes", m.GetSubordinateNodeTypes(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'subordinateNodeTypes' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "subordinateRelationships", m.GetSubordinateRelationships(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'subordinateRelationships' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "defaultSubordinateRelationship", m.GetDefaultSubordinateRelationship(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'defaultSubordinateRelationship' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "represents", m.GetRepresents(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'represents' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("StructuredView"); popErr != nil { + return errors.Wrap(popErr, "Error popping for StructuredView") + } + return nil +} + +func (m *_StructuredView) IsStructuredView() {} + +func (m *_StructuredView) DeepCopy() any { + return m.deepCopy() +} + +func (m *_StructuredView) deepCopy() *_StructuredView { + if m == nil { + return nil + } + _StructuredViewCopy := &_StructuredView{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.NodeType.DeepCopy().(ReadableProperty), + m.NodeSubtype.DeepCopy().(OptionalProperty), + m.SubordinateList.DeepCopy().(ReadableProperty), + m.SubordinateAnnotations.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.SubordinateTags.DeepCopy().(OptionalProperty), + m.SubordinateNodeTypes.DeepCopy().(OptionalProperty), + m.SubordinateRelationships.DeepCopy().(OptionalProperty), + m.DefaultSubordinateRelationship.DeepCopy().(OptionalProperty), + m.Represents.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _StructuredViewCopy +} + +func (m *_StructuredView) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/TimePatternValue.go b/plc4go/protocols/bacnetip/readwrite/model/TimePatternValue.go new file mode 100644 index 00000000000..91061a81252 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/TimePatternValue.go @@ -0,0 +1,1756 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// TimePatternValue is the corresponding interface of TimePatternValue +type TimePatternValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsTimePatternValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsTimePatternValue() + // CreateBuilder creates a TimePatternValueBuilder + CreateTimePatternValueBuilder() TimePatternValueBuilder +} + +// _TimePatternValue is the data-structure of this message +type _TimePatternValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ TimePatternValue = (*_TimePatternValue)(nil) + +// NewTimePatternValue factory function for _TimePatternValue +func NewTimePatternValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_TimePatternValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for TimePatternValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for TimePatternValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for TimePatternValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for TimePatternValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for TimePatternValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for TimePatternValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for TimePatternValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for TimePatternValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for TimePatternValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for TimePatternValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for TimePatternValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for TimePatternValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for TimePatternValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for TimePatternValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for TimePatternValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for TimePatternValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for TimePatternValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for TimePatternValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for TimePatternValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for TimePatternValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for TimePatternValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for TimePatternValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for TimePatternValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for TimePatternValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for TimePatternValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for TimePatternValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for TimePatternValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for TimePatternValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for TimePatternValue must not be nil") + } + return &_TimePatternValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// TimePatternValueBuilder is a builder for TimePatternValue +type TimePatternValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TimePatternValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) TimePatternValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) TimePatternValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) TimePatternValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) TimePatternValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) TimePatternValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) TimePatternValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) TimePatternValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) TimePatternValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) TimePatternValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) TimePatternValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) TimePatternValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) TimePatternValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) TimePatternValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) TimePatternValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) TimePatternValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) TimePatternValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) TimePatternValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) TimePatternValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) TimePatternValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) TimePatternValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) TimePatternValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) TimePatternValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) TimePatternValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) TimePatternValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) TimePatternValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) TimePatternValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) TimePatternValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) TimePatternValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) TimePatternValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder + // Build builds the TimePatternValue or returns an error if something is wrong + Build() (TimePatternValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() TimePatternValue +} + +// NewTimePatternValueBuilder() creates a TimePatternValueBuilder +func NewTimePatternValueBuilder() TimePatternValueBuilder { + return &_TimePatternValueBuilder{_TimePatternValue: new(_TimePatternValue)} +} + +type _TimePatternValueBuilder struct { + *_TimePatternValue + + err *utils.MultiError +} + +var _ (TimePatternValueBuilder) = (*_TimePatternValueBuilder)(nil) + +func (b *_TimePatternValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TimePatternValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_TimePatternValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) TimePatternValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_TimePatternValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithObjectName(objectName ReadableProperty) TimePatternValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_TimePatternValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithObjectType(objectType ReadableProperty) TimePatternValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_TimePatternValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithDescription(description OptionalProperty) TimePatternValueBuilder { + b.Description = description + return b +} + +func (b *_TimePatternValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithPresentValue(presentValue ReadableProperty) TimePatternValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_TimePatternValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithStatusFlags(statusFlags ReadableProperty) TimePatternValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_TimePatternValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithEventState(eventState OptionalProperty) TimePatternValueBuilder { + b.EventState = eventState + return b +} + +func (b *_TimePatternValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithReliability(reliability OptionalProperty) TimePatternValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_TimePatternValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithOutOfService(outOfService OptionalProperty) TimePatternValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_TimePatternValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithPriorityArray(priorityArray OptionalProperty) TimePatternValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_TimePatternValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) TimePatternValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_TimePatternValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) TimePatternValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_TimePatternValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithPropertyList(propertyList ReadableProperty) TimePatternValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_TimePatternValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) TimePatternValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_TimePatternValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithNotificationClass(notificationClass OptionalProperty) TimePatternValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_TimePatternValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithEventEnable(eventEnable OptionalProperty) TimePatternValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_TimePatternValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) TimePatternValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_TimePatternValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithNotifyType(notifyType OptionalProperty) TimePatternValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_TimePatternValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) TimePatternValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_TimePatternValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) TimePatternValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_TimePatternValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) TimePatternValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_TimePatternValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) TimePatternValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_TimePatternValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithValueSource(valueSource OptionalProperty) TimePatternValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_TimePatternValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) TimePatternValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_TimePatternValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) TimePatternValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_TimePatternValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) TimePatternValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_TimePatternValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithTags(tags OptionalProperty) TimePatternValueBuilder { + b.Tags = tags + return b +} + +func (b *_TimePatternValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithProfileLocation(profileLocation OptionalProperty) TimePatternValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_TimePatternValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) WithProfileName(profileName OptionalProperty) TimePatternValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_TimePatternValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimePatternValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimePatternValueBuilder) Build() (TimePatternValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._TimePatternValue.deepCopy(), nil +} + +func (b *_TimePatternValueBuilder) MustBuild() TimePatternValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_TimePatternValueBuilder) DeepCopy() any { + _copy := b.CreateTimePatternValueBuilder().(*_TimePatternValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateTimePatternValueBuilder creates a TimePatternValueBuilder +func (b *_TimePatternValue) CreateTimePatternValueBuilder() TimePatternValueBuilder { + if b == nil { + return NewTimePatternValueBuilder() + } + return &_TimePatternValueBuilder{_TimePatternValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_TimePatternValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_TimePatternValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_TimePatternValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_TimePatternValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_TimePatternValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_TimePatternValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_TimePatternValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_TimePatternValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_TimePatternValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_TimePatternValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_TimePatternValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_TimePatternValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_TimePatternValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_TimePatternValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_TimePatternValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_TimePatternValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_TimePatternValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_TimePatternValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_TimePatternValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_TimePatternValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_TimePatternValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_TimePatternValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_TimePatternValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_TimePatternValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_TimePatternValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_TimePatternValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_TimePatternValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_TimePatternValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_TimePatternValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastTimePatternValue(structType any) TimePatternValue { + if casted, ok := structType.(TimePatternValue); ok { + return casted + } + if casted, ok := structType.(*TimePatternValue); ok { + return *casted + } + return nil +} + +func (m *_TimePatternValue) GetTypeName() string { + return "TimePatternValue" +} + +func (m *_TimePatternValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_TimePatternValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func TimePatternValueParse(ctx context.Context, theBytes []byte) (TimePatternValue, error) { + return TimePatternValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func TimePatternValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (TimePatternValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (TimePatternValue, error) { + return TimePatternValueParseWithBuffer(ctx, readBuffer) + } +} + +func TimePatternValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (TimePatternValue, error) { + v, err := (&_TimePatternValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_TimePatternValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__timePatternValue TimePatternValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("TimePatternValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for TimePatternValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Time")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Time")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("TimePatternValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for TimePatternValue") + } + + return m, nil +} + +func (m *_TimePatternValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_TimePatternValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("TimePatternValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for TimePatternValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("TimePatternValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for TimePatternValue") + } + return nil +} + +func (m *_TimePatternValue) IsTimePatternValue() {} + +func (m *_TimePatternValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_TimePatternValue) deepCopy() *_TimePatternValue { + if m == nil { + return nil + } + _TimePatternValueCopy := &_TimePatternValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _TimePatternValueCopy +} + +func (m *_TimePatternValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/TimeValue.go b/plc4go/protocols/bacnetip/readwrite/model/TimeValue.go new file mode 100644 index 00000000000..90cfd41686c --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/TimeValue.go @@ -0,0 +1,1756 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// TimeValue is the corresponding interface of TimeValue +type TimeValue interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetPriorityArray returns PriorityArray (property field) + GetPriorityArray() OptionalProperty + // GetRelinquishDefault returns RelinquishDefault (property field) + GetRelinquishDefault() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetCurrentCommandPriority returns CurrentCommandPriority (property field) + GetCurrentCommandPriority() OptionalProperty + // GetValueSource returns ValueSource (property field) + GetValueSource() OptionalProperty + // GetValueSourceArray returns ValueSourceArray (property field) + GetValueSourceArray() OptionalProperty + // GetLastCommandTime returns LastCommandTime (property field) + GetLastCommandTime() OptionalProperty + // GetCommandTimeArray returns CommandTimeArray (property field) + GetCommandTimeArray() OptionalProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsTimeValue is a marker method to prevent unintentional type checks (interfaces of same signature) + IsTimeValue() + // CreateBuilder creates a TimeValueBuilder + CreateTimeValueBuilder() TimeValueBuilder +} + +// _TimeValue is the data-structure of this message +type _TimeValue struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + PriorityArray OptionalProperty + RelinquishDefault OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + CurrentCommandPriority OptionalProperty + ValueSource OptionalProperty + ValueSourceArray OptionalProperty + LastCommandTime OptionalProperty + CommandTimeArray OptionalProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ TimeValue = (*_TimeValue)(nil) + +// NewTimeValue factory function for _TimeValue +func NewTimeValue(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_TimeValue { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for TimeValue must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for TimeValue must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for TimeValue must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for TimeValue must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for TimeValue must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for TimeValue must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for TimeValue must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for TimeValue must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for TimeValue must not be nil") + } + if priorityArray == nil { + panic("priorityArray of type OptionalProperty for TimeValue must not be nil") + } + if relinquishDefault == nil { + panic("relinquishDefault of type OptionalProperty for TimeValue must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for TimeValue must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for TimeValue must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for TimeValue must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for TimeValue must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for TimeValue must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for TimeValue must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for TimeValue must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for TimeValue must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for TimeValue must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for TimeValue must not be nil") + } + if currentCommandPriority == nil { + panic("currentCommandPriority of type OptionalProperty for TimeValue must not be nil") + } + if valueSource == nil { + panic("valueSource of type OptionalProperty for TimeValue must not be nil") + } + if valueSourceArray == nil { + panic("valueSourceArray of type OptionalProperty for TimeValue must not be nil") + } + if lastCommandTime == nil { + panic("lastCommandTime of type OptionalProperty for TimeValue must not be nil") + } + if commandTimeArray == nil { + panic("commandTimeArray of type OptionalProperty for TimeValue must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for TimeValue must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for TimeValue must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for TimeValue must not be nil") + } + return &_TimeValue{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, PriorityArray: priorityArray, RelinquishDefault: relinquishDefault, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, CurrentCommandPriority: currentCommandPriority, ValueSource: valueSource, ValueSourceArray: valueSourceArray, LastCommandTime: lastCommandTime, CommandTimeArray: commandTimeArray, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// TimeValueBuilder is a builder for TimeValue +type TimeValueBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TimeValueBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) TimeValueBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) TimeValueBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) TimeValueBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) TimeValueBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) TimeValueBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) TimeValueBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) TimeValueBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) TimeValueBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) TimeValueBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithPriorityArray adds PriorityArray (property field) + WithPriorityArray(OptionalProperty) TimeValueBuilder + // WithPriorityArrayBuilder adds PriorityArray (property field) which is build by the builder + WithPriorityArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithRelinquishDefault adds RelinquishDefault (property field) + WithRelinquishDefault(OptionalProperty) TimeValueBuilder + // WithRelinquishDefaultBuilder adds RelinquishDefault (property field) which is build by the builder + WithRelinquishDefaultBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) TimeValueBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) TimeValueBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) TimeValueBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) TimeValueBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) TimeValueBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) TimeValueBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) TimeValueBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) TimeValueBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) TimeValueBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) TimeValueBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithCurrentCommandPriority adds CurrentCommandPriority (property field) + WithCurrentCommandPriority(OptionalProperty) TimeValueBuilder + // WithCurrentCommandPriorityBuilder adds CurrentCommandPriority (property field) which is build by the builder + WithCurrentCommandPriorityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithValueSource adds ValueSource (property field) + WithValueSource(OptionalProperty) TimeValueBuilder + // WithValueSourceBuilder adds ValueSource (property field) which is build by the builder + WithValueSourceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithValueSourceArray adds ValueSourceArray (property field) + WithValueSourceArray(OptionalProperty) TimeValueBuilder + // WithValueSourceArrayBuilder adds ValueSourceArray (property field) which is build by the builder + WithValueSourceArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithLastCommandTime adds LastCommandTime (property field) + WithLastCommandTime(OptionalProperty) TimeValueBuilder + // WithLastCommandTimeBuilder adds LastCommandTime (property field) which is build by the builder + WithLastCommandTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithCommandTimeArray adds CommandTimeArray (property field) + WithCommandTimeArray(OptionalProperty) TimeValueBuilder + // WithCommandTimeArrayBuilder adds CommandTimeArray (property field) which is build by the builder + WithCommandTimeArrayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) TimeValueBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) TimeValueBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) TimeValueBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder + // Build builds the TimeValue or returns an error if something is wrong + Build() (TimeValue, error) + // MustBuild does the same as Build but panics on error + MustBuild() TimeValue +} + +// NewTimeValueBuilder() creates a TimeValueBuilder +func NewTimeValueBuilder() TimeValueBuilder { + return &_TimeValueBuilder{_TimeValue: new(_TimeValue)} +} + +type _TimeValueBuilder struct { + *_TimeValue + + err *utils.MultiError +} + +var _ (TimeValueBuilder) = (*_TimeValueBuilder)(nil) + +func (b *_TimeValueBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, priorityArray OptionalProperty, relinquishDefault OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, currentCommandPriority OptionalProperty, valueSource OptionalProperty, valueSourceArray OptionalProperty, lastCommandTime OptionalProperty, commandTimeArray OptionalProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TimeValueBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithPriorityArray(priorityArray).WithRelinquishDefault(relinquishDefault).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithCurrentCommandPriority(currentCommandPriority).WithValueSource(valueSource).WithValueSourceArray(valueSourceArray).WithLastCommandTime(lastCommandTime).WithCommandTimeArray(commandTimeArray).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_TimeValueBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) TimeValueBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_TimeValueBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithObjectName(objectName ReadableProperty) TimeValueBuilder { + b.ObjectName = objectName + return b +} + +func (b *_TimeValueBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithObjectType(objectType ReadableProperty) TimeValueBuilder { + b.ObjectType = objectType + return b +} + +func (b *_TimeValueBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithDescription(description OptionalProperty) TimeValueBuilder { + b.Description = description + return b +} + +func (b *_TimeValueBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithPresentValue(presentValue ReadableProperty) TimeValueBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_TimeValueBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithStatusFlags(statusFlags ReadableProperty) TimeValueBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_TimeValueBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithEventState(eventState OptionalProperty) TimeValueBuilder { + b.EventState = eventState + return b +} + +func (b *_TimeValueBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithReliability(reliability OptionalProperty) TimeValueBuilder { + b.Reliability = reliability + return b +} + +func (b *_TimeValueBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithOutOfService(outOfService OptionalProperty) TimeValueBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_TimeValueBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithPriorityArray(priorityArray OptionalProperty) TimeValueBuilder { + b.PriorityArray = priorityArray + return b +} + +func (b *_TimeValueBuilder) WithPriorityArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.PriorityArray.CreateOptionalPropertyBuilder()) + var err error + b.PriorityArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithRelinquishDefault(relinquishDefault OptionalProperty) TimeValueBuilder { + b.RelinquishDefault = relinquishDefault + return b +} + +func (b *_TimeValueBuilder) WithRelinquishDefaultBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.RelinquishDefault.CreateOptionalPropertyBuilder()) + var err error + b.RelinquishDefault, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) TimeValueBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_TimeValueBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithPropertyList(propertyList ReadableProperty) TimeValueBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_TimeValueBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) TimeValueBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_TimeValueBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithNotificationClass(notificationClass OptionalProperty) TimeValueBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_TimeValueBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithEventEnable(eventEnable OptionalProperty) TimeValueBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_TimeValueBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) TimeValueBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_TimeValueBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithNotifyType(notifyType OptionalProperty) TimeValueBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_TimeValueBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) TimeValueBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_TimeValueBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) TimeValueBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_TimeValueBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) TimeValueBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_TimeValueBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithCurrentCommandPriority(currentCommandPriority OptionalProperty) TimeValueBuilder { + b.CurrentCommandPriority = currentCommandPriority + return b +} + +func (b *_TimeValueBuilder) WithCurrentCommandPriorityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.CurrentCommandPriority.CreateOptionalPropertyBuilder()) + var err error + b.CurrentCommandPriority, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithValueSource(valueSource OptionalProperty) TimeValueBuilder { + b.ValueSource = valueSource + return b +} + +func (b *_TimeValueBuilder) WithValueSourceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.ValueSource.CreateOptionalPropertyBuilder()) + var err error + b.ValueSource, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithValueSourceArray(valueSourceArray OptionalProperty) TimeValueBuilder { + b.ValueSourceArray = valueSourceArray + return b +} + +func (b *_TimeValueBuilder) WithValueSourceArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.ValueSourceArray.CreateOptionalPropertyBuilder()) + var err error + b.ValueSourceArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithLastCommandTime(lastCommandTime OptionalProperty) TimeValueBuilder { + b.LastCommandTime = lastCommandTime + return b +} + +func (b *_TimeValueBuilder) WithLastCommandTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.LastCommandTime.CreateOptionalPropertyBuilder()) + var err error + b.LastCommandTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithCommandTimeArray(commandTimeArray OptionalProperty) TimeValueBuilder { + b.CommandTimeArray = commandTimeArray + return b +} + +func (b *_TimeValueBuilder) WithCommandTimeArrayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.CommandTimeArray.CreateOptionalPropertyBuilder()) + var err error + b.CommandTimeArray, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithTags(tags OptionalProperty) TimeValueBuilder { + b.Tags = tags + return b +} + +func (b *_TimeValueBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithProfileLocation(profileLocation OptionalProperty) TimeValueBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_TimeValueBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) WithProfileName(profileName OptionalProperty) TimeValueBuilder { + b.ProfileName = profileName + return b +} + +func (b *_TimeValueBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimeValueBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimeValueBuilder) Build() (TimeValue, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.PriorityArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityArray' not set")) + } + if b.RelinquishDefault == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'relinquishDefault' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.CurrentCommandPriority == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'currentCommandPriority' not set")) + } + if b.ValueSource == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSource' not set")) + } + if b.ValueSourceArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'valueSourceArray' not set")) + } + if b.LastCommandTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastCommandTime' not set")) + } + if b.CommandTimeArray == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'commandTimeArray' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._TimeValue.deepCopy(), nil +} + +func (b *_TimeValueBuilder) MustBuild() TimeValue { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_TimeValueBuilder) DeepCopy() any { + _copy := b.CreateTimeValueBuilder().(*_TimeValueBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateTimeValueBuilder creates a TimeValueBuilder +func (b *_TimeValue) CreateTimeValueBuilder() TimeValueBuilder { + if b == nil { + return NewTimeValueBuilder() + } + return &_TimeValueBuilder{_TimeValue: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_TimeValue) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_TimeValue) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_TimeValue) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_TimeValue) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_TimeValue) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_TimeValue) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_TimeValue) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_TimeValue) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_TimeValue) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_TimeValue) GetPriorityArray() OptionalProperty { + return m.PriorityArray +} + +func (m *_TimeValue) GetRelinquishDefault() OptionalProperty { + return m.RelinquishDefault +} + +func (m *_TimeValue) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_TimeValue) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_TimeValue) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_TimeValue) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_TimeValue) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_TimeValue) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_TimeValue) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_TimeValue) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_TimeValue) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_TimeValue) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_TimeValue) GetCurrentCommandPriority() OptionalProperty { + return m.CurrentCommandPriority +} + +func (m *_TimeValue) GetValueSource() OptionalProperty { + return m.ValueSource +} + +func (m *_TimeValue) GetValueSourceArray() OptionalProperty { + return m.ValueSourceArray +} + +func (m *_TimeValue) GetLastCommandTime() OptionalProperty { + return m.LastCommandTime +} + +func (m *_TimeValue) GetCommandTimeArray() OptionalProperty { + return m.CommandTimeArray +} + +func (m *_TimeValue) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_TimeValue) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_TimeValue) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastTimeValue(structType any) TimeValue { + if casted, ok := structType.(TimeValue); ok { + return casted + } + if casted, ok := structType.(*TimeValue); ok { + return *casted + } + return nil +} + +func (m *_TimeValue) GetTypeName() string { + return "TimeValue" +} + +func (m *_TimeValue) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (priorityArray) + lengthInBits += m.PriorityArray.GetLengthInBits(ctx) + + // Simple field (relinquishDefault) + lengthInBits += m.RelinquishDefault.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (currentCommandPriority) + lengthInBits += m.CurrentCommandPriority.GetLengthInBits(ctx) + + // Simple field (valueSource) + lengthInBits += m.ValueSource.GetLengthInBits(ctx) + + // Simple field (valueSourceArray) + lengthInBits += m.ValueSourceArray.GetLengthInBits(ctx) + + // Simple field (lastCommandTime) + lengthInBits += m.LastCommandTime.GetLengthInBits(ctx) + + // Simple field (commandTimeArray) + lengthInBits += m.CommandTimeArray.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_TimeValue) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func TimeValueParse(ctx context.Context, theBytes []byte) (TimeValue, error) { + return TimeValueParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func TimeValueParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (TimeValue, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (TimeValue, error) { + return TimeValueParseWithBuffer(ctx, readBuffer) + } +} + +func TimeValueParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (TimeValue, error) { + v, err := (&_TimeValue{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_TimeValue) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__timeValue TimeValue, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("TimeValue"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for TimeValue") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Time")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + priorityArray, err := ReadSimpleField[OptionalProperty](ctx, "priorityArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetPriorityArray")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityArray' field")) + } + m.PriorityArray = priorityArray + + relinquishDefault, err := ReadSimpleField[OptionalProperty](ctx, "relinquishDefault", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Time")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'relinquishDefault' field")) + } + m.RelinquishDefault = relinquishDefault + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + currentCommandPriority, err := ReadSimpleField[OptionalProperty](ctx, "currentCommandPriority", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetOptionalUnsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'currentCommandPriority' field")) + } + m.CurrentCommandPriority = currentCommandPriority + + valueSource, err := ReadSimpleField[OptionalProperty](ctx, "valueSource", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSource' field")) + } + m.ValueSource = valueSource + + valueSourceArray, err := ReadSimpleField[OptionalProperty](ctx, "valueSourceArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetValueSource")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'valueSourceArray' field")) + } + m.ValueSourceArray = valueSourceArray + + lastCommandTime, err := ReadSimpleField[OptionalProperty](ctx, "lastCommandTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastCommandTime' field")) + } + m.LastCommandTime = lastCommandTime + + commandTimeArray, err := ReadSimpleField[OptionalProperty](ctx, "commandTimeArray", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[16] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'commandTimeArray' field")) + } + m.CommandTimeArray = commandTimeArray + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("TimeValue"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for TimeValue") + } + + return m, nil +} + +func (m *_TimeValue) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_TimeValue) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("TimeValue"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for TimeValue") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityArray", m.GetPriorityArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "relinquishDefault", m.GetRelinquishDefault(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'relinquishDefault' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "currentCommandPriority", m.GetCurrentCommandPriority(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'currentCommandPriority' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSource", m.GetValueSource(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSource' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "valueSourceArray", m.GetValueSourceArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'valueSourceArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastCommandTime", m.GetLastCommandTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastCommandTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "commandTimeArray", m.GetCommandTimeArray(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'commandTimeArray' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("TimeValue"); popErr != nil { + return errors.Wrap(popErr, "Error popping for TimeValue") + } + return nil +} + +func (m *_TimeValue) IsTimeValue() {} + +func (m *_TimeValue) DeepCopy() any { + return m.deepCopy() +} + +func (m *_TimeValue) deepCopy() *_TimeValue { + if m == nil { + return nil + } + _TimeValueCopy := &_TimeValue{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.PriorityArray.DeepCopy().(OptionalProperty), + m.RelinquishDefault.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.CurrentCommandPriority.DeepCopy().(OptionalProperty), + m.ValueSource.DeepCopy().(OptionalProperty), + m.ValueSourceArray.DeepCopy().(OptionalProperty), + m.LastCommandTime.DeepCopy().(OptionalProperty), + m.CommandTimeArray.DeepCopy().(OptionalProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _TimeValueCopy +} + +func (m *_TimeValue) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/Timer.go b/plc4go/protocols/bacnetip/readwrite/model/Timer.go new file mode 100644 index 00000000000..5200d4f6d3f --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/Timer.go @@ -0,0 +1,2328 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// Timer is the corresponding interface of Timer +type Timer interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetPresentValue returns PresentValue (property field) + GetPresentValue() ReadableProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() OptionalProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetOutOfService returns OutOfService (property field) + GetOutOfService() OptionalProperty + // GetTimerState returns TimerState (property field) + GetTimerState() ReadableProperty + // GetTimerRunning returns TimerRunning (property field) + GetTimerRunning() ReadableProperty + // GetUpdateTime returns UpdateTime (property field) + GetUpdateTime() OptionalProperty + // GetLastStateChange returns LastStateChange (property field) + GetLastStateChange() OptionalProperty + // GetExpirationTime returns ExpirationTime (property field) + GetExpirationTime() OptionalProperty + // GetInitialTimeout returns InitialTimeout (property field) + GetInitialTimeout() OptionalProperty + // GetDefaultTimeout returns DefaultTimeout (property field) + GetDefaultTimeout() OptionalProperty + // GetMinPresValue returns MinPresValue (property field) + GetMinPresValue() OptionalProperty + // GetMaxPresValue returns MaxPresValue (property field) + GetMaxPresValue() OptionalProperty + // GetResolution returns Resolution (property field) + GetResolution() OptionalProperty + // GetStateChangeValues returns StateChangeValues (property field) + GetStateChangeValues() OptionalProperty + // GetListOfObjectPropertyReferences returns ListOfObjectPropertyReferences (property field) + GetListOfObjectPropertyReferences() OptionalProperty + // GetPriorityForWriting returns PriorityForWriting (property field) + GetPriorityForWriting() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetTimeDelay returns TimeDelay (property field) + GetTimeDelay() OptionalProperty + // GetTimeDelayNormal returns TimeDelayNormal (property field) + GetTimeDelayNormal() OptionalProperty + // GetAlarmValues returns AlarmValues (property field) + GetAlarmValues() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsTimer is a marker method to prevent unintentional type checks (interfaces of same signature) + IsTimer() + // CreateBuilder creates a TimerBuilder + CreateTimerBuilder() TimerBuilder +} + +// _Timer is the data-structure of this message +type _Timer struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + PresentValue ReadableProperty + StatusFlags ReadableProperty + EventState OptionalProperty + Reliability OptionalProperty + OutOfService OptionalProperty + TimerState ReadableProperty + TimerRunning ReadableProperty + UpdateTime OptionalProperty + LastStateChange OptionalProperty + ExpirationTime OptionalProperty + InitialTimeout OptionalProperty + DefaultTimeout OptionalProperty + MinPresValue OptionalProperty + MaxPresValue OptionalProperty + Resolution OptionalProperty + StateChangeValues OptionalProperty + ListOfObjectPropertyReferences OptionalProperty + PriorityForWriting OptionalProperty + EventDetectionEnable OptionalProperty + NotificationClass OptionalProperty + TimeDelay OptionalProperty + TimeDelayNormal OptionalProperty + AlarmValues OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ Timer = (*_Timer)(nil) + +// NewTimer factory function for _Timer +func NewTimer(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, timerState ReadableProperty, timerRunning ReadableProperty, updateTime OptionalProperty, lastStateChange OptionalProperty, expirationTime OptionalProperty, initialTimeout OptionalProperty, defaultTimeout OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, stateChangeValues OptionalProperty, listOfObjectPropertyReferences OptionalProperty, priorityForWriting OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, timeDelayNormal OptionalProperty, alarmValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_Timer { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for Timer must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for Timer must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for Timer must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for Timer must not be nil") + } + if presentValue == nil { + panic("presentValue of type ReadableProperty for Timer must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for Timer must not be nil") + } + if eventState == nil { + panic("eventState of type OptionalProperty for Timer must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for Timer must not be nil") + } + if outOfService == nil { + panic("outOfService of type OptionalProperty for Timer must not be nil") + } + if timerState == nil { + panic("timerState of type ReadableProperty for Timer must not be nil") + } + if timerRunning == nil { + panic("timerRunning of type ReadableProperty for Timer must not be nil") + } + if updateTime == nil { + panic("updateTime of type OptionalProperty for Timer must not be nil") + } + if lastStateChange == nil { + panic("lastStateChange of type OptionalProperty for Timer must not be nil") + } + if expirationTime == nil { + panic("expirationTime of type OptionalProperty for Timer must not be nil") + } + if initialTimeout == nil { + panic("initialTimeout of type OptionalProperty for Timer must not be nil") + } + if defaultTimeout == nil { + panic("defaultTimeout of type OptionalProperty for Timer must not be nil") + } + if minPresValue == nil { + panic("minPresValue of type OptionalProperty for Timer must not be nil") + } + if maxPresValue == nil { + panic("maxPresValue of type OptionalProperty for Timer must not be nil") + } + if resolution == nil { + panic("resolution of type OptionalProperty for Timer must not be nil") + } + if stateChangeValues == nil { + panic("stateChangeValues of type OptionalProperty for Timer must not be nil") + } + if listOfObjectPropertyReferences == nil { + panic("listOfObjectPropertyReferences of type OptionalProperty for Timer must not be nil") + } + if priorityForWriting == nil { + panic("priorityForWriting of type OptionalProperty for Timer must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for Timer must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for Timer must not be nil") + } + if timeDelay == nil { + panic("timeDelay of type OptionalProperty for Timer must not be nil") + } + if timeDelayNormal == nil { + panic("timeDelayNormal of type OptionalProperty for Timer must not be nil") + } + if alarmValues == nil { + panic("alarmValues of type OptionalProperty for Timer must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for Timer must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for Timer must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for Timer must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for Timer must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for Timer must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for Timer must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for Timer must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for Timer must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for Timer must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for Timer must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for Timer must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for Timer must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for Timer must not be nil") + } + return &_Timer{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, PresentValue: presentValue, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, OutOfService: outOfService, TimerState: timerState, TimerRunning: timerRunning, UpdateTime: updateTime, LastStateChange: lastStateChange, ExpirationTime: expirationTime, InitialTimeout: initialTimeout, DefaultTimeout: defaultTimeout, MinPresValue: minPresValue, MaxPresValue: maxPresValue, Resolution: resolution, StateChangeValues: stateChangeValues, ListOfObjectPropertyReferences: listOfObjectPropertyReferences, PriorityForWriting: priorityForWriting, EventDetectionEnable: eventDetectionEnable, NotificationClass: notificationClass, TimeDelay: timeDelay, TimeDelayNormal: timeDelayNormal, AlarmValues: alarmValues, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// TimerBuilder is a builder for Timer +type TimerBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, timerState ReadableProperty, timerRunning ReadableProperty, updateTime OptionalProperty, lastStateChange OptionalProperty, expirationTime OptionalProperty, initialTimeout OptionalProperty, defaultTimeout OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, stateChangeValues OptionalProperty, listOfObjectPropertyReferences OptionalProperty, priorityForWriting OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, timeDelayNormal OptionalProperty, alarmValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TimerBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) TimerBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) TimerBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) TimerBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) TimerBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithPresentValue adds PresentValue (property field) + WithPresentValue(ReadableProperty) TimerBuilder + // WithPresentValueBuilder adds PresentValue (property field) which is build by the builder + WithPresentValueBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) TimerBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder + // WithEventState adds EventState (property field) + WithEventState(OptionalProperty) TimerBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) TimerBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithOutOfService adds OutOfService (property field) + WithOutOfService(OptionalProperty) TimerBuilder + // WithOutOfServiceBuilder adds OutOfService (property field) which is build by the builder + WithOutOfServiceBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithTimerState adds TimerState (property field) + WithTimerState(ReadableProperty) TimerBuilder + // WithTimerStateBuilder adds TimerState (property field) which is build by the builder + WithTimerStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder + // WithTimerRunning adds TimerRunning (property field) + WithTimerRunning(ReadableProperty) TimerBuilder + // WithTimerRunningBuilder adds TimerRunning (property field) which is build by the builder + WithTimerRunningBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder + // WithUpdateTime adds UpdateTime (property field) + WithUpdateTime(OptionalProperty) TimerBuilder + // WithUpdateTimeBuilder adds UpdateTime (property field) which is build by the builder + WithUpdateTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithLastStateChange adds LastStateChange (property field) + WithLastStateChange(OptionalProperty) TimerBuilder + // WithLastStateChangeBuilder adds LastStateChange (property field) which is build by the builder + WithLastStateChangeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithExpirationTime adds ExpirationTime (property field) + WithExpirationTime(OptionalProperty) TimerBuilder + // WithExpirationTimeBuilder adds ExpirationTime (property field) which is build by the builder + WithExpirationTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithInitialTimeout adds InitialTimeout (property field) + WithInitialTimeout(OptionalProperty) TimerBuilder + // WithInitialTimeoutBuilder adds InitialTimeout (property field) which is build by the builder + WithInitialTimeoutBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithDefaultTimeout adds DefaultTimeout (property field) + WithDefaultTimeout(OptionalProperty) TimerBuilder + // WithDefaultTimeoutBuilder adds DefaultTimeout (property field) which is build by the builder + WithDefaultTimeoutBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithMinPresValue adds MinPresValue (property field) + WithMinPresValue(OptionalProperty) TimerBuilder + // WithMinPresValueBuilder adds MinPresValue (property field) which is build by the builder + WithMinPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithMaxPresValue adds MaxPresValue (property field) + WithMaxPresValue(OptionalProperty) TimerBuilder + // WithMaxPresValueBuilder adds MaxPresValue (property field) which is build by the builder + WithMaxPresValueBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithResolution adds Resolution (property field) + WithResolution(OptionalProperty) TimerBuilder + // WithResolutionBuilder adds Resolution (property field) which is build by the builder + WithResolutionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithStateChangeValues adds StateChangeValues (property field) + WithStateChangeValues(OptionalProperty) TimerBuilder + // WithStateChangeValuesBuilder adds StateChangeValues (property field) which is build by the builder + WithStateChangeValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithListOfObjectPropertyReferences adds ListOfObjectPropertyReferences (property field) + WithListOfObjectPropertyReferences(OptionalProperty) TimerBuilder + // WithListOfObjectPropertyReferencesBuilder adds ListOfObjectPropertyReferences (property field) which is build by the builder + WithListOfObjectPropertyReferencesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithPriorityForWriting adds PriorityForWriting (property field) + WithPriorityForWriting(OptionalProperty) TimerBuilder + // WithPriorityForWritingBuilder adds PriorityForWriting (property field) which is build by the builder + WithPriorityForWritingBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) TimerBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) TimerBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithTimeDelay adds TimeDelay (property field) + WithTimeDelay(OptionalProperty) TimerBuilder + // WithTimeDelayBuilder adds TimeDelay (property field) which is build by the builder + WithTimeDelayBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithTimeDelayNormal adds TimeDelayNormal (property field) + WithTimeDelayNormal(OptionalProperty) TimerBuilder + // WithTimeDelayNormalBuilder adds TimeDelayNormal (property field) which is build by the builder + WithTimeDelayNormalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithAlarmValues adds AlarmValues (property field) + WithAlarmValues(OptionalProperty) TimerBuilder + // WithAlarmValuesBuilder adds AlarmValues (property field) which is build by the builder + WithAlarmValuesBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) TimerBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) TimerBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) TimerBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) TimerBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) TimerBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) TimerBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) TimerBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) TimerBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) TimerBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) TimerBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) TimerBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) TimerBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) TimerBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder + // Build builds the Timer or returns an error if something is wrong + Build() (Timer, error) + // MustBuild does the same as Build but panics on error + MustBuild() Timer +} + +// NewTimerBuilder() creates a TimerBuilder +func NewTimerBuilder() TimerBuilder { + return &_TimerBuilder{_Timer: new(_Timer)} +} + +type _TimerBuilder struct { + *_Timer + + err *utils.MultiError +} + +var _ (TimerBuilder) = (*_TimerBuilder)(nil) + +func (b *_TimerBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, presentValue ReadableProperty, statusFlags ReadableProperty, eventState OptionalProperty, reliability OptionalProperty, outOfService OptionalProperty, timerState ReadableProperty, timerRunning ReadableProperty, updateTime OptionalProperty, lastStateChange OptionalProperty, expirationTime OptionalProperty, initialTimeout OptionalProperty, defaultTimeout OptionalProperty, minPresValue OptionalProperty, maxPresValue OptionalProperty, resolution OptionalProperty, stateChangeValues OptionalProperty, listOfObjectPropertyReferences OptionalProperty, priorityForWriting OptionalProperty, eventDetectionEnable OptionalProperty, notificationClass OptionalProperty, timeDelay OptionalProperty, timeDelayNormal OptionalProperty, alarmValues OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TimerBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithPresentValue(presentValue).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithOutOfService(outOfService).WithTimerState(timerState).WithTimerRunning(timerRunning).WithUpdateTime(updateTime).WithLastStateChange(lastStateChange).WithExpirationTime(expirationTime).WithInitialTimeout(initialTimeout).WithDefaultTimeout(defaultTimeout).WithMinPresValue(minPresValue).WithMaxPresValue(maxPresValue).WithResolution(resolution).WithStateChangeValues(stateChangeValues).WithListOfObjectPropertyReferences(listOfObjectPropertyReferences).WithPriorityForWriting(priorityForWriting).WithEventDetectionEnable(eventDetectionEnable).WithNotificationClass(notificationClass).WithTimeDelay(timeDelay).WithTimeDelayNormal(timeDelayNormal).WithAlarmValues(alarmValues).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_TimerBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) TimerBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_TimerBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithObjectName(objectName ReadableProperty) TimerBuilder { + b.ObjectName = objectName + return b +} + +func (b *_TimerBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithObjectType(objectType ReadableProperty) TimerBuilder { + b.ObjectType = objectType + return b +} + +func (b *_TimerBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithDescription(description OptionalProperty) TimerBuilder { + b.Description = description + return b +} + +func (b *_TimerBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithPresentValue(presentValue ReadableProperty) TimerBuilder { + b.PresentValue = presentValue + return b +} + +func (b *_TimerBuilder) WithPresentValueBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder { + builder := builderSupplier(b.PresentValue.CreateReadablePropertyBuilder()) + var err error + b.PresentValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithStatusFlags(statusFlags ReadableProperty) TimerBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_TimerBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithEventState(eventState OptionalProperty) TimerBuilder { + b.EventState = eventState + return b +} + +func (b *_TimerBuilder) WithEventStateBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.EventState.CreateOptionalPropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithReliability(reliability OptionalProperty) TimerBuilder { + b.Reliability = reliability + return b +} + +func (b *_TimerBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithOutOfService(outOfService OptionalProperty) TimerBuilder { + b.OutOfService = outOfService + return b +} + +func (b *_TimerBuilder) WithOutOfServiceBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.OutOfService.CreateOptionalPropertyBuilder()) + var err error + b.OutOfService, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithTimerState(timerState ReadableProperty) TimerBuilder { + b.TimerState = timerState + return b +} + +func (b *_TimerBuilder) WithTimerStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder { + builder := builderSupplier(b.TimerState.CreateReadablePropertyBuilder()) + var err error + b.TimerState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithTimerRunning(timerRunning ReadableProperty) TimerBuilder { + b.TimerRunning = timerRunning + return b +} + +func (b *_TimerBuilder) WithTimerRunningBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder { + builder := builderSupplier(b.TimerRunning.CreateReadablePropertyBuilder()) + var err error + b.TimerRunning, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithUpdateTime(updateTime OptionalProperty) TimerBuilder { + b.UpdateTime = updateTime + return b +} + +func (b *_TimerBuilder) WithUpdateTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.UpdateTime.CreateOptionalPropertyBuilder()) + var err error + b.UpdateTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithLastStateChange(lastStateChange OptionalProperty) TimerBuilder { + b.LastStateChange = lastStateChange + return b +} + +func (b *_TimerBuilder) WithLastStateChangeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.LastStateChange.CreateOptionalPropertyBuilder()) + var err error + b.LastStateChange, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithExpirationTime(expirationTime OptionalProperty) TimerBuilder { + b.ExpirationTime = expirationTime + return b +} + +func (b *_TimerBuilder) WithExpirationTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.ExpirationTime.CreateOptionalPropertyBuilder()) + var err error + b.ExpirationTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithInitialTimeout(initialTimeout OptionalProperty) TimerBuilder { + b.InitialTimeout = initialTimeout + return b +} + +func (b *_TimerBuilder) WithInitialTimeoutBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.InitialTimeout.CreateOptionalPropertyBuilder()) + var err error + b.InitialTimeout, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithDefaultTimeout(defaultTimeout OptionalProperty) TimerBuilder { + b.DefaultTimeout = defaultTimeout + return b +} + +func (b *_TimerBuilder) WithDefaultTimeoutBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.DefaultTimeout.CreateOptionalPropertyBuilder()) + var err error + b.DefaultTimeout, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithMinPresValue(minPresValue OptionalProperty) TimerBuilder { + b.MinPresValue = minPresValue + return b +} + +func (b *_TimerBuilder) WithMinPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.MinPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MinPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithMaxPresValue(maxPresValue OptionalProperty) TimerBuilder { + b.MaxPresValue = maxPresValue + return b +} + +func (b *_TimerBuilder) WithMaxPresValueBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.MaxPresValue.CreateOptionalPropertyBuilder()) + var err error + b.MaxPresValue, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithResolution(resolution OptionalProperty) TimerBuilder { + b.Resolution = resolution + return b +} + +func (b *_TimerBuilder) WithResolutionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.Resolution.CreateOptionalPropertyBuilder()) + var err error + b.Resolution, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithStateChangeValues(stateChangeValues OptionalProperty) TimerBuilder { + b.StateChangeValues = stateChangeValues + return b +} + +func (b *_TimerBuilder) WithStateChangeValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.StateChangeValues.CreateOptionalPropertyBuilder()) + var err error + b.StateChangeValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithListOfObjectPropertyReferences(listOfObjectPropertyReferences OptionalProperty) TimerBuilder { + b.ListOfObjectPropertyReferences = listOfObjectPropertyReferences + return b +} + +func (b *_TimerBuilder) WithListOfObjectPropertyReferencesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.ListOfObjectPropertyReferences.CreateOptionalPropertyBuilder()) + var err error + b.ListOfObjectPropertyReferences, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithPriorityForWriting(priorityForWriting OptionalProperty) TimerBuilder { + b.PriorityForWriting = priorityForWriting + return b +} + +func (b *_TimerBuilder) WithPriorityForWritingBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.PriorityForWriting.CreateOptionalPropertyBuilder()) + var err error + b.PriorityForWriting, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) TimerBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_TimerBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithNotificationClass(notificationClass OptionalProperty) TimerBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_TimerBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithTimeDelay(timeDelay OptionalProperty) TimerBuilder { + b.TimeDelay = timeDelay + return b +} + +func (b *_TimerBuilder) WithTimeDelayBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.TimeDelay.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelay, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithTimeDelayNormal(timeDelayNormal OptionalProperty) TimerBuilder { + b.TimeDelayNormal = timeDelayNormal + return b +} + +func (b *_TimerBuilder) WithTimeDelayNormalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.TimeDelayNormal.CreateOptionalPropertyBuilder()) + var err error + b.TimeDelayNormal, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithAlarmValues(alarmValues OptionalProperty) TimerBuilder { + b.AlarmValues = alarmValues + return b +} + +func (b *_TimerBuilder) WithAlarmValuesBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.AlarmValues.CreateOptionalPropertyBuilder()) + var err error + b.AlarmValues, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithEventEnable(eventEnable OptionalProperty) TimerBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_TimerBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) TimerBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_TimerBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithNotifyType(notifyType OptionalProperty) TimerBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_TimerBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) TimerBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_TimerBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) TimerBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_TimerBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) TimerBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_TimerBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) TimerBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_TimerBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) TimerBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_TimerBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) TimerBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_TimerBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithPropertyList(propertyList ReadableProperty) TimerBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_TimerBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TimerBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithTags(tags OptionalProperty) TimerBuilder { + b.Tags = tags + return b +} + +func (b *_TimerBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithProfileLocation(profileLocation OptionalProperty) TimerBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_TimerBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) WithProfileName(profileName OptionalProperty) TimerBuilder { + b.ProfileName = profileName + return b +} + +func (b *_TimerBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TimerBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TimerBuilder) Build() (Timer, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.PresentValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'presentValue' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.OutOfService == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'outOfService' not set")) + } + if b.TimerState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timerState' not set")) + } + if b.TimerRunning == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timerRunning' not set")) + } + if b.UpdateTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'updateTime' not set")) + } + if b.LastStateChange == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastStateChange' not set")) + } + if b.ExpirationTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'expirationTime' not set")) + } + if b.InitialTimeout == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'initialTimeout' not set")) + } + if b.DefaultTimeout == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'defaultTimeout' not set")) + } + if b.MinPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'minPresValue' not set")) + } + if b.MaxPresValue == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'maxPresValue' not set")) + } + if b.Resolution == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'resolution' not set")) + } + if b.StateChangeValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stateChangeValues' not set")) + } + if b.ListOfObjectPropertyReferences == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'listOfObjectPropertyReferences' not set")) + } + if b.PriorityForWriting == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'priorityForWriting' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.TimeDelay == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelay' not set")) + } + if b.TimeDelayNormal == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'timeDelayNormal' not set")) + } + if b.AlarmValues == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alarmValues' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._Timer.deepCopy(), nil +} + +func (b *_TimerBuilder) MustBuild() Timer { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_TimerBuilder) DeepCopy() any { + _copy := b.CreateTimerBuilder().(*_TimerBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateTimerBuilder creates a TimerBuilder +func (b *_Timer) CreateTimerBuilder() TimerBuilder { + if b == nil { + return NewTimerBuilder() + } + return &_TimerBuilder{_Timer: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_Timer) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_Timer) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_Timer) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_Timer) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_Timer) GetPresentValue() ReadableProperty { + return m.PresentValue +} + +func (m *_Timer) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_Timer) GetEventState() OptionalProperty { + return m.EventState +} + +func (m *_Timer) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_Timer) GetOutOfService() OptionalProperty { + return m.OutOfService +} + +func (m *_Timer) GetTimerState() ReadableProperty { + return m.TimerState +} + +func (m *_Timer) GetTimerRunning() ReadableProperty { + return m.TimerRunning +} + +func (m *_Timer) GetUpdateTime() OptionalProperty { + return m.UpdateTime +} + +func (m *_Timer) GetLastStateChange() OptionalProperty { + return m.LastStateChange +} + +func (m *_Timer) GetExpirationTime() OptionalProperty { + return m.ExpirationTime +} + +func (m *_Timer) GetInitialTimeout() OptionalProperty { + return m.InitialTimeout +} + +func (m *_Timer) GetDefaultTimeout() OptionalProperty { + return m.DefaultTimeout +} + +func (m *_Timer) GetMinPresValue() OptionalProperty { + return m.MinPresValue +} + +func (m *_Timer) GetMaxPresValue() OptionalProperty { + return m.MaxPresValue +} + +func (m *_Timer) GetResolution() OptionalProperty { + return m.Resolution +} + +func (m *_Timer) GetStateChangeValues() OptionalProperty { + return m.StateChangeValues +} + +func (m *_Timer) GetListOfObjectPropertyReferences() OptionalProperty { + return m.ListOfObjectPropertyReferences +} + +func (m *_Timer) GetPriorityForWriting() OptionalProperty { + return m.PriorityForWriting +} + +func (m *_Timer) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_Timer) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_Timer) GetTimeDelay() OptionalProperty { + return m.TimeDelay +} + +func (m *_Timer) GetTimeDelayNormal() OptionalProperty { + return m.TimeDelayNormal +} + +func (m *_Timer) GetAlarmValues() OptionalProperty { + return m.AlarmValues +} + +func (m *_Timer) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_Timer) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_Timer) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_Timer) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_Timer) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_Timer) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_Timer) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_Timer) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_Timer) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_Timer) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_Timer) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_Timer) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_Timer) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastTimer(structType any) Timer { + if casted, ok := structType.(Timer); ok { + return casted + } + if casted, ok := structType.(*Timer); ok { + return *casted + } + return nil +} + +func (m *_Timer) GetTypeName() string { + return "Timer" +} + +func (m *_Timer) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (presentValue) + lengthInBits += m.PresentValue.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (outOfService) + lengthInBits += m.OutOfService.GetLengthInBits(ctx) + + // Simple field (timerState) + lengthInBits += m.TimerState.GetLengthInBits(ctx) + + // Simple field (timerRunning) + lengthInBits += m.TimerRunning.GetLengthInBits(ctx) + + // Simple field (updateTime) + lengthInBits += m.UpdateTime.GetLengthInBits(ctx) + + // Simple field (lastStateChange) + lengthInBits += m.LastStateChange.GetLengthInBits(ctx) + + // Simple field (expirationTime) + lengthInBits += m.ExpirationTime.GetLengthInBits(ctx) + + // Simple field (initialTimeout) + lengthInBits += m.InitialTimeout.GetLengthInBits(ctx) + + // Simple field (defaultTimeout) + lengthInBits += m.DefaultTimeout.GetLengthInBits(ctx) + + // Simple field (minPresValue) + lengthInBits += m.MinPresValue.GetLengthInBits(ctx) + + // Simple field (maxPresValue) + lengthInBits += m.MaxPresValue.GetLengthInBits(ctx) + + // Simple field (resolution) + lengthInBits += m.Resolution.GetLengthInBits(ctx) + + // Simple field (stateChangeValues) + lengthInBits += m.StateChangeValues.GetLengthInBits(ctx) + + // Simple field (listOfObjectPropertyReferences) + lengthInBits += m.ListOfObjectPropertyReferences.GetLengthInBits(ctx) + + // Simple field (priorityForWriting) + lengthInBits += m.PriorityForWriting.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (timeDelay) + lengthInBits += m.TimeDelay.GetLengthInBits(ctx) + + // Simple field (timeDelayNormal) + lengthInBits += m.TimeDelayNormal.GetLengthInBits(ctx) + + // Simple field (alarmValues) + lengthInBits += m.AlarmValues.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_Timer) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func TimerParse(ctx context.Context, theBytes []byte) (Timer, error) { + return TimerParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func TimerParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (Timer, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (Timer, error) { + return TimerParseWithBuffer(ctx, readBuffer) + } +} + +func TimerParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (Timer, error) { + v, err := (&_Timer{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_Timer) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__timer Timer, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("Timer"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for Timer") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + presentValue, err := ReadSimpleField[ReadableProperty](ctx, "presentValue", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'presentValue' field")) + } + m.PresentValue = presentValue + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[OptionalProperty](ctx, "eventState", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + outOfService, err := ReadSimpleField[OptionalProperty](ctx, "outOfService", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'outOfService' field")) + } + m.OutOfService = outOfService + + timerState, err := ReadSimpleField[ReadableProperty](ctx, "timerState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetTimerState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timerState' field")) + } + m.TimerState = timerState + + timerRunning, err := ReadSimpleField[ReadableProperty](ctx, "timerRunning", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timerRunning' field")) + } + m.TimerRunning = timerRunning + + updateTime, err := ReadSimpleField[OptionalProperty](ctx, "updateTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'updateTime' field")) + } + m.UpdateTime = updateTime + + lastStateChange, err := ReadSimpleField[OptionalProperty](ctx, "lastStateChange", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetTimerTransition")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastStateChange' field")) + } + m.LastStateChange = lastStateChange + + expirationTime, err := ReadSimpleField[OptionalProperty](ctx, "expirationTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'expirationTime' field")) + } + m.ExpirationTime = expirationTime + + initialTimeout, err := ReadSimpleField[OptionalProperty](ctx, "initialTimeout", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'initialTimeout' field")) + } + m.InitialTimeout = initialTimeout + + defaultTimeout, err := ReadSimpleField[OptionalProperty](ctx, "defaultTimeout", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'defaultTimeout' field")) + } + m.DefaultTimeout = defaultTimeout + + minPresValue, err := ReadSimpleField[OptionalProperty](ctx, "minPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'minPresValue' field")) + } + m.MinPresValue = minPresValue + + maxPresValue, err := ReadSimpleField[OptionalProperty](ctx, "maxPresValue", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'maxPresValue' field")) + } + m.MaxPresValue = maxPresValue + + resolution, err := ReadSimpleField[OptionalProperty](ctx, "resolution", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'resolution' field")) + } + m.Resolution = resolution + + stateChangeValues, err := ReadSimpleField[OptionalProperty](ctx, "stateChangeValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[7] of BACnetTimerStateChangeValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stateChangeValues' field")) + } + m.StateChangeValues = stateChangeValues + + listOfObjectPropertyReferences, err := ReadSimpleField[OptionalProperty](ctx, "listOfObjectPropertyReferences", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetDeviceObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'listOfObjectPropertyReferences' field")) + } + m.ListOfObjectPropertyReferences = listOfObjectPropertyReferences + + priorityForWriting, err := ReadSimpleField[OptionalProperty](ctx, "priorityForWriting", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned(1..16)")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'priorityForWriting' field")) + } + m.PriorityForWriting = priorityForWriting + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + timeDelay, err := ReadSimpleField[OptionalProperty](ctx, "timeDelay", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelay' field")) + } + m.TimeDelay = timeDelay + + timeDelayNormal, err := ReadSimpleField[OptionalProperty](ctx, "timeDelayNormal", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeDelayNormal' field")) + } + m.TimeDelayNormal = timeDelayNormal + + alarmValues, err := ReadSimpleField[OptionalProperty](ctx, "alarmValues", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetLIST of BACnetTimerState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alarmValues' field")) + } + m.AlarmValues = alarmValues + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("Timer"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for Timer") + } + + return m, nil +} + +func (m *_Timer) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_Timer) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("Timer"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for Timer") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "presentValue", m.GetPresentValue(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'presentValue' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventState", m.GetEventState(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "outOfService", m.GetOutOfService(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'outOfService' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "timerState", m.GetTimerState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timerState' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "timerRunning", m.GetTimerRunning(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timerRunning' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "updateTime", m.GetUpdateTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'updateTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastStateChange", m.GetLastStateChange(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastStateChange' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "expirationTime", m.GetExpirationTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'expirationTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "initialTimeout", m.GetInitialTimeout(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'initialTimeout' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "defaultTimeout", m.GetDefaultTimeout(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'defaultTimeout' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "minPresValue", m.GetMinPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'minPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "maxPresValue", m.GetMaxPresValue(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'maxPresValue' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "resolution", m.GetResolution(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'resolution' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "stateChangeValues", m.GetStateChangeValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stateChangeValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "listOfObjectPropertyReferences", m.GetListOfObjectPropertyReferences(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'listOfObjectPropertyReferences' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "priorityForWriting", m.GetPriorityForWriting(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'priorityForWriting' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelay", m.GetTimeDelay(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelay' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "timeDelayNormal", m.GetTimeDelayNormal(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'timeDelayNormal' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alarmValues", m.GetAlarmValues(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alarmValues' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("Timer"); popErr != nil { + return errors.Wrap(popErr, "Error popping for Timer") + } + return nil +} + +func (m *_Timer) IsTimer() {} + +func (m *_Timer) DeepCopy() any { + return m.deepCopy() +} + +func (m *_Timer) deepCopy() *_Timer { + if m == nil { + return nil + } + _TimerCopy := &_Timer{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.PresentValue.DeepCopy().(ReadableProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(OptionalProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.OutOfService.DeepCopy().(OptionalProperty), + m.TimerState.DeepCopy().(ReadableProperty), + m.TimerRunning.DeepCopy().(ReadableProperty), + m.UpdateTime.DeepCopy().(OptionalProperty), + m.LastStateChange.DeepCopy().(OptionalProperty), + m.ExpirationTime.DeepCopy().(OptionalProperty), + m.InitialTimeout.DeepCopy().(OptionalProperty), + m.DefaultTimeout.DeepCopy().(OptionalProperty), + m.MinPresValue.DeepCopy().(OptionalProperty), + m.MaxPresValue.DeepCopy().(OptionalProperty), + m.Resolution.DeepCopy().(OptionalProperty), + m.StateChangeValues.DeepCopy().(OptionalProperty), + m.ListOfObjectPropertyReferences.DeepCopy().(OptionalProperty), + m.PriorityForWriting.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.TimeDelay.DeepCopy().(OptionalProperty), + m.TimeDelayNormal.DeepCopy().(OptionalProperty), + m.AlarmValues.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _TimerCopy +} + +func (m *_Timer) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/TrendLog.go b/plc4go/protocols/bacnetip/readwrite/model/TrendLog.go new file mode 100644 index 00000000000..3d96a221229 --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/TrendLog.go @@ -0,0 +1,2380 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// TrendLog is the corresponding interface of TrendLog +type TrendLog interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetEnable returns Enable (property field) + GetEnable() WritableProperty + // GetStartTime returns StartTime (property field) + GetStartTime() OptionalProperty + // GetStopTime returns StopTime (property field) + GetStopTime() OptionalProperty + // GetLogDeviceObjectProperty returns LogDeviceObjectProperty (property field) + GetLogDeviceObjectProperty() OptionalProperty + // GetLogInterval returns LogInterval (property field) + GetLogInterval() OptionalProperty + // GetCOVResubscriptionInterval returns COVResubscriptionInterval (property field) + GetCOVResubscriptionInterval() OptionalProperty + // GetClientCOVIncrement returns ClientCOVIncrement (property field) + GetClientCOVIncrement() OptionalProperty + // GetStopWhenFull returns StopWhenFull (property field) + GetStopWhenFull() ReadableProperty + // GetBufferSize returns BufferSize (property field) + GetBufferSize() ReadableProperty + // GetLogBuffer returns LogBuffer (property field) + GetLogBuffer() ReadableProperty + // GetRecordCount returns RecordCount (property field) + GetRecordCount() WritableProperty + // GetTotalRecordCount returns TotalRecordCount (property field) + GetTotalRecordCount() ReadableProperty + // GetLoggingType returns LoggingType (property field) + GetLoggingType() ReadableProperty + // GetAlignIntervals returns AlignIntervals (property field) + GetAlignIntervals() OptionalProperty + // GetIntervalOffset returns IntervalOffset (property field) + GetIntervalOffset() OptionalProperty + // GetTrigger returns Trigger (property field) + GetTrigger() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetNotificationThreshold returns NotificationThreshold (property field) + GetNotificationThreshold() OptionalProperty + // GetRecordsSinceNotification returns RecordsSinceNotification (property field) + GetRecordsSinceNotification() OptionalProperty + // GetLastNotifyRecord returns LastNotifyRecord (property field) + GetLastNotifyRecord() OptionalProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsTrendLog is a marker method to prevent unintentional type checks (interfaces of same signature) + IsTrendLog() + // CreateBuilder creates a TrendLogBuilder + CreateTrendLogBuilder() TrendLogBuilder +} + +// _TrendLog is the data-structure of this message +type _TrendLog struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + Enable WritableProperty + StartTime OptionalProperty + StopTime OptionalProperty + LogDeviceObjectProperty OptionalProperty + LogInterval OptionalProperty + COVResubscriptionInterval OptionalProperty + ClientCOVIncrement OptionalProperty + StopWhenFull ReadableProperty + BufferSize ReadableProperty + LogBuffer ReadableProperty + RecordCount WritableProperty + TotalRecordCount ReadableProperty + LoggingType ReadableProperty + AlignIntervals OptionalProperty + IntervalOffset OptionalProperty + Trigger OptionalProperty + StatusFlags ReadableProperty + Reliability OptionalProperty + NotificationThreshold OptionalProperty + RecordsSinceNotification OptionalProperty + LastNotifyRecord OptionalProperty + EventState ReadableProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ TrendLog = (*_TrendLog)(nil) + +// NewTrendLog factory function for _TrendLog +func NewTrendLog(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, enable WritableProperty, startTime OptionalProperty, stopTime OptionalProperty, logDeviceObjectProperty OptionalProperty, logInterval OptionalProperty, cOVResubscriptionInterval OptionalProperty, clientCOVIncrement OptionalProperty, stopWhenFull ReadableProperty, bufferSize ReadableProperty, logBuffer ReadableProperty, recordCount WritableProperty, totalRecordCount ReadableProperty, loggingType ReadableProperty, alignIntervals OptionalProperty, intervalOffset OptionalProperty, trigger OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, notificationThreshold OptionalProperty, recordsSinceNotification OptionalProperty, lastNotifyRecord OptionalProperty, eventState ReadableProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_TrendLog { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for TrendLog must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for TrendLog must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for TrendLog must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for TrendLog must not be nil") + } + if enable == nil { + panic("enable of type WritableProperty for TrendLog must not be nil") + } + if startTime == nil { + panic("startTime of type OptionalProperty for TrendLog must not be nil") + } + if stopTime == nil { + panic("stopTime of type OptionalProperty for TrendLog must not be nil") + } + if logDeviceObjectProperty == nil { + panic("logDeviceObjectProperty of type OptionalProperty for TrendLog must not be nil") + } + if logInterval == nil { + panic("logInterval of type OptionalProperty for TrendLog must not be nil") + } + if cOVResubscriptionInterval == nil { + panic("cOVResubscriptionInterval of type OptionalProperty for TrendLog must not be nil") + } + if clientCOVIncrement == nil { + panic("clientCOVIncrement of type OptionalProperty for TrendLog must not be nil") + } + if stopWhenFull == nil { + panic("stopWhenFull of type ReadableProperty for TrendLog must not be nil") + } + if bufferSize == nil { + panic("bufferSize of type ReadableProperty for TrendLog must not be nil") + } + if logBuffer == nil { + panic("logBuffer of type ReadableProperty for TrendLog must not be nil") + } + if recordCount == nil { + panic("recordCount of type WritableProperty for TrendLog must not be nil") + } + if totalRecordCount == nil { + panic("totalRecordCount of type ReadableProperty for TrendLog must not be nil") + } + if loggingType == nil { + panic("loggingType of type ReadableProperty for TrendLog must not be nil") + } + if alignIntervals == nil { + panic("alignIntervals of type OptionalProperty for TrendLog must not be nil") + } + if intervalOffset == nil { + panic("intervalOffset of type OptionalProperty for TrendLog must not be nil") + } + if trigger == nil { + panic("trigger of type OptionalProperty for TrendLog must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for TrendLog must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for TrendLog must not be nil") + } + if notificationThreshold == nil { + panic("notificationThreshold of type OptionalProperty for TrendLog must not be nil") + } + if recordsSinceNotification == nil { + panic("recordsSinceNotification of type OptionalProperty for TrendLog must not be nil") + } + if lastNotifyRecord == nil { + panic("lastNotifyRecord of type OptionalProperty for TrendLog must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for TrendLog must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for TrendLog must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for TrendLog must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for TrendLog must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for TrendLog must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for TrendLog must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for TrendLog must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for TrendLog must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for TrendLog must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for TrendLog must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for TrendLog must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for TrendLog must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for TrendLog must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for TrendLog must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for TrendLog must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for TrendLog must not be nil") + } + return &_TrendLog{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, Enable: enable, StartTime: startTime, StopTime: stopTime, LogDeviceObjectProperty: logDeviceObjectProperty, LogInterval: logInterval, COVResubscriptionInterval: cOVResubscriptionInterval, ClientCOVIncrement: clientCOVIncrement, StopWhenFull: stopWhenFull, BufferSize: bufferSize, LogBuffer: logBuffer, RecordCount: recordCount, TotalRecordCount: totalRecordCount, LoggingType: loggingType, AlignIntervals: alignIntervals, IntervalOffset: intervalOffset, Trigger: trigger, StatusFlags: statusFlags, Reliability: reliability, NotificationThreshold: notificationThreshold, RecordsSinceNotification: recordsSinceNotification, LastNotifyRecord: lastNotifyRecord, EventState: eventState, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// TrendLogBuilder is a builder for TrendLog +type TrendLogBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, enable WritableProperty, startTime OptionalProperty, stopTime OptionalProperty, logDeviceObjectProperty OptionalProperty, logInterval OptionalProperty, cOVResubscriptionInterval OptionalProperty, clientCOVIncrement OptionalProperty, stopWhenFull ReadableProperty, bufferSize ReadableProperty, logBuffer ReadableProperty, recordCount WritableProperty, totalRecordCount ReadableProperty, loggingType ReadableProperty, alignIntervals OptionalProperty, intervalOffset OptionalProperty, trigger OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, notificationThreshold OptionalProperty, recordsSinceNotification OptionalProperty, lastNotifyRecord OptionalProperty, eventState ReadableProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TrendLogBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) TrendLogBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) TrendLogBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) TrendLogBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) TrendLogBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithEnable adds Enable (property field) + WithEnable(WritableProperty) TrendLogBuilder + // WithEnableBuilder adds Enable (property field) which is build by the builder + WithEnableBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) TrendLogBuilder + // WithStartTime adds StartTime (property field) + WithStartTime(OptionalProperty) TrendLogBuilder + // WithStartTimeBuilder adds StartTime (property field) which is build by the builder + WithStartTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithStopTime adds StopTime (property field) + WithStopTime(OptionalProperty) TrendLogBuilder + // WithStopTimeBuilder adds StopTime (property field) which is build by the builder + WithStopTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithLogDeviceObjectProperty adds LogDeviceObjectProperty (property field) + WithLogDeviceObjectProperty(OptionalProperty) TrendLogBuilder + // WithLogDeviceObjectPropertyBuilder adds LogDeviceObjectProperty (property field) which is build by the builder + WithLogDeviceObjectPropertyBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithLogInterval adds LogInterval (property field) + WithLogInterval(OptionalProperty) TrendLogBuilder + // WithLogIntervalBuilder adds LogInterval (property field) which is build by the builder + WithLogIntervalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithCOVResubscriptionInterval adds COVResubscriptionInterval (property field) + WithCOVResubscriptionInterval(OptionalProperty) TrendLogBuilder + // WithCOVResubscriptionIntervalBuilder adds COVResubscriptionInterval (property field) which is build by the builder + WithCOVResubscriptionIntervalBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithClientCOVIncrement adds ClientCOVIncrement (property field) + WithClientCOVIncrement(OptionalProperty) TrendLogBuilder + // WithClientCOVIncrementBuilder adds ClientCOVIncrement (property field) which is build by the builder + WithClientCOVIncrementBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithStopWhenFull adds StopWhenFull (property field) + WithStopWhenFull(ReadableProperty) TrendLogBuilder + // WithStopWhenFullBuilder adds StopWhenFull (property field) which is build by the builder + WithStopWhenFullBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithBufferSize adds BufferSize (property field) + WithBufferSize(ReadableProperty) TrendLogBuilder + // WithBufferSizeBuilder adds BufferSize (property field) which is build by the builder + WithBufferSizeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithLogBuffer adds LogBuffer (property field) + WithLogBuffer(ReadableProperty) TrendLogBuilder + // WithLogBufferBuilder adds LogBuffer (property field) which is build by the builder + WithLogBufferBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithRecordCount adds RecordCount (property field) + WithRecordCount(WritableProperty) TrendLogBuilder + // WithRecordCountBuilder adds RecordCount (property field) which is build by the builder + WithRecordCountBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) TrendLogBuilder + // WithTotalRecordCount adds TotalRecordCount (property field) + WithTotalRecordCount(ReadableProperty) TrendLogBuilder + // WithTotalRecordCountBuilder adds TotalRecordCount (property field) which is build by the builder + WithTotalRecordCountBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithLoggingType adds LoggingType (property field) + WithLoggingType(ReadableProperty) TrendLogBuilder + // WithLoggingTypeBuilder adds LoggingType (property field) which is build by the builder + WithLoggingTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithAlignIntervals adds AlignIntervals (property field) + WithAlignIntervals(OptionalProperty) TrendLogBuilder + // WithAlignIntervalsBuilder adds AlignIntervals (property field) which is build by the builder + WithAlignIntervalsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithIntervalOffset adds IntervalOffset (property field) + WithIntervalOffset(OptionalProperty) TrendLogBuilder + // WithIntervalOffsetBuilder adds IntervalOffset (property field) which is build by the builder + WithIntervalOffsetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithTrigger adds Trigger (property field) + WithTrigger(OptionalProperty) TrendLogBuilder + // WithTriggerBuilder adds Trigger (property field) which is build by the builder + WithTriggerBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) TrendLogBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) TrendLogBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithNotificationThreshold adds NotificationThreshold (property field) + WithNotificationThreshold(OptionalProperty) TrendLogBuilder + // WithNotificationThresholdBuilder adds NotificationThreshold (property field) which is build by the builder + WithNotificationThresholdBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithRecordsSinceNotification adds RecordsSinceNotification (property field) + WithRecordsSinceNotification(OptionalProperty) TrendLogBuilder + // WithRecordsSinceNotificationBuilder adds RecordsSinceNotification (property field) which is build by the builder + WithRecordsSinceNotificationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithLastNotifyRecord adds LastNotifyRecord (property field) + WithLastNotifyRecord(OptionalProperty) TrendLogBuilder + // WithLastNotifyRecordBuilder adds LastNotifyRecord (property field) which is build by the builder + WithLastNotifyRecordBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) TrendLogBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) TrendLogBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) TrendLogBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) TrendLogBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) TrendLogBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) TrendLogBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) TrendLogBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) TrendLogBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) TrendLogBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) TrendLogBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) TrendLogBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) TrendLogBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) TrendLogBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) TrendLogBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) TrendLogBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) TrendLogBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder + // Build builds the TrendLog or returns an error if something is wrong + Build() (TrendLog, error) + // MustBuild does the same as Build but panics on error + MustBuild() TrendLog +} + +// NewTrendLogBuilder() creates a TrendLogBuilder +func NewTrendLogBuilder() TrendLogBuilder { + return &_TrendLogBuilder{_TrendLog: new(_TrendLog)} +} + +type _TrendLogBuilder struct { + *_TrendLog + + err *utils.MultiError +} + +var _ (TrendLogBuilder) = (*_TrendLogBuilder)(nil) + +func (b *_TrendLogBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, enable WritableProperty, startTime OptionalProperty, stopTime OptionalProperty, logDeviceObjectProperty OptionalProperty, logInterval OptionalProperty, cOVResubscriptionInterval OptionalProperty, clientCOVIncrement OptionalProperty, stopWhenFull ReadableProperty, bufferSize ReadableProperty, logBuffer ReadableProperty, recordCount WritableProperty, totalRecordCount ReadableProperty, loggingType ReadableProperty, alignIntervals OptionalProperty, intervalOffset OptionalProperty, trigger OptionalProperty, statusFlags ReadableProperty, reliability OptionalProperty, notificationThreshold OptionalProperty, recordsSinceNotification OptionalProperty, lastNotifyRecord OptionalProperty, eventState ReadableProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TrendLogBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithEnable(enable).WithStartTime(startTime).WithStopTime(stopTime).WithLogDeviceObjectProperty(logDeviceObjectProperty).WithLogInterval(logInterval).WithCOVResubscriptionInterval(cOVResubscriptionInterval).WithClientCOVIncrement(clientCOVIncrement).WithStopWhenFull(stopWhenFull).WithBufferSize(bufferSize).WithLogBuffer(logBuffer).WithRecordCount(recordCount).WithTotalRecordCount(totalRecordCount).WithLoggingType(loggingType).WithAlignIntervals(alignIntervals).WithIntervalOffset(intervalOffset).WithTrigger(trigger).WithStatusFlags(statusFlags).WithReliability(reliability).WithNotificationThreshold(notificationThreshold).WithRecordsSinceNotification(recordsSinceNotification).WithLastNotifyRecord(lastNotifyRecord).WithEventState(eventState).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_TrendLogBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) TrendLogBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_TrendLogBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithObjectName(objectName ReadableProperty) TrendLogBuilder { + b.ObjectName = objectName + return b +} + +func (b *_TrendLogBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithObjectType(objectType ReadableProperty) TrendLogBuilder { + b.ObjectType = objectType + return b +} + +func (b *_TrendLogBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithDescription(description OptionalProperty) TrendLogBuilder { + b.Description = description + return b +} + +func (b *_TrendLogBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithEnable(enable WritableProperty) TrendLogBuilder { + b.Enable = enable + return b +} + +func (b *_TrendLogBuilder) WithEnableBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.Enable.CreateWritablePropertyBuilder()) + var err error + b.Enable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithStartTime(startTime OptionalProperty) TrendLogBuilder { + b.StartTime = startTime + return b +} + +func (b *_TrendLogBuilder) WithStartTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.StartTime.CreateOptionalPropertyBuilder()) + var err error + b.StartTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithStopTime(stopTime OptionalProperty) TrendLogBuilder { + b.StopTime = stopTime + return b +} + +func (b *_TrendLogBuilder) WithStopTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.StopTime.CreateOptionalPropertyBuilder()) + var err error + b.StopTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithLogDeviceObjectProperty(logDeviceObjectProperty OptionalProperty) TrendLogBuilder { + b.LogDeviceObjectProperty = logDeviceObjectProperty + return b +} + +func (b *_TrendLogBuilder) WithLogDeviceObjectPropertyBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.LogDeviceObjectProperty.CreateOptionalPropertyBuilder()) + var err error + b.LogDeviceObjectProperty, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithLogInterval(logInterval OptionalProperty) TrendLogBuilder { + b.LogInterval = logInterval + return b +} + +func (b *_TrendLogBuilder) WithLogIntervalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.LogInterval.CreateOptionalPropertyBuilder()) + var err error + b.LogInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithCOVResubscriptionInterval(cOVResubscriptionInterval OptionalProperty) TrendLogBuilder { + b.COVResubscriptionInterval = cOVResubscriptionInterval + return b +} + +func (b *_TrendLogBuilder) WithCOVResubscriptionIntervalBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.COVResubscriptionInterval.CreateOptionalPropertyBuilder()) + var err error + b.COVResubscriptionInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithClientCOVIncrement(clientCOVIncrement OptionalProperty) TrendLogBuilder { + b.ClientCOVIncrement = clientCOVIncrement + return b +} + +func (b *_TrendLogBuilder) WithClientCOVIncrementBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.ClientCOVIncrement.CreateOptionalPropertyBuilder()) + var err error + b.ClientCOVIncrement, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithStopWhenFull(stopWhenFull ReadableProperty) TrendLogBuilder { + b.StopWhenFull = stopWhenFull + return b +} + +func (b *_TrendLogBuilder) WithStopWhenFullBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.StopWhenFull.CreateReadablePropertyBuilder()) + var err error + b.StopWhenFull, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithBufferSize(bufferSize ReadableProperty) TrendLogBuilder { + b.BufferSize = bufferSize + return b +} + +func (b *_TrendLogBuilder) WithBufferSizeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.BufferSize.CreateReadablePropertyBuilder()) + var err error + b.BufferSize, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithLogBuffer(logBuffer ReadableProperty) TrendLogBuilder { + b.LogBuffer = logBuffer + return b +} + +func (b *_TrendLogBuilder) WithLogBufferBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.LogBuffer.CreateReadablePropertyBuilder()) + var err error + b.LogBuffer, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithRecordCount(recordCount WritableProperty) TrendLogBuilder { + b.RecordCount = recordCount + return b +} + +func (b *_TrendLogBuilder) WithRecordCountBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.RecordCount.CreateWritablePropertyBuilder()) + var err error + b.RecordCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithTotalRecordCount(totalRecordCount ReadableProperty) TrendLogBuilder { + b.TotalRecordCount = totalRecordCount + return b +} + +func (b *_TrendLogBuilder) WithTotalRecordCountBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.TotalRecordCount.CreateReadablePropertyBuilder()) + var err error + b.TotalRecordCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithLoggingType(loggingType ReadableProperty) TrendLogBuilder { + b.LoggingType = loggingType + return b +} + +func (b *_TrendLogBuilder) WithLoggingTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.LoggingType.CreateReadablePropertyBuilder()) + var err error + b.LoggingType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithAlignIntervals(alignIntervals OptionalProperty) TrendLogBuilder { + b.AlignIntervals = alignIntervals + return b +} + +func (b *_TrendLogBuilder) WithAlignIntervalsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.AlignIntervals.CreateOptionalPropertyBuilder()) + var err error + b.AlignIntervals, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithIntervalOffset(intervalOffset OptionalProperty) TrendLogBuilder { + b.IntervalOffset = intervalOffset + return b +} + +func (b *_TrendLogBuilder) WithIntervalOffsetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.IntervalOffset.CreateOptionalPropertyBuilder()) + var err error + b.IntervalOffset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithTrigger(trigger OptionalProperty) TrendLogBuilder { + b.Trigger = trigger + return b +} + +func (b *_TrendLogBuilder) WithTriggerBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.Trigger.CreateOptionalPropertyBuilder()) + var err error + b.Trigger, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithStatusFlags(statusFlags ReadableProperty) TrendLogBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_TrendLogBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithReliability(reliability OptionalProperty) TrendLogBuilder { + b.Reliability = reliability + return b +} + +func (b *_TrendLogBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithNotificationThreshold(notificationThreshold OptionalProperty) TrendLogBuilder { + b.NotificationThreshold = notificationThreshold + return b +} + +func (b *_TrendLogBuilder) WithNotificationThresholdBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.NotificationThreshold.CreateOptionalPropertyBuilder()) + var err error + b.NotificationThreshold, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithRecordsSinceNotification(recordsSinceNotification OptionalProperty) TrendLogBuilder { + b.RecordsSinceNotification = recordsSinceNotification + return b +} + +func (b *_TrendLogBuilder) WithRecordsSinceNotificationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.RecordsSinceNotification.CreateOptionalPropertyBuilder()) + var err error + b.RecordsSinceNotification, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithLastNotifyRecord(lastNotifyRecord OptionalProperty) TrendLogBuilder { + b.LastNotifyRecord = lastNotifyRecord + return b +} + +func (b *_TrendLogBuilder) WithLastNotifyRecordBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.LastNotifyRecord.CreateOptionalPropertyBuilder()) + var err error + b.LastNotifyRecord, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithEventState(eventState ReadableProperty) TrendLogBuilder { + b.EventState = eventState + return b +} + +func (b *_TrendLogBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithNotificationClass(notificationClass OptionalProperty) TrendLogBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_TrendLogBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithEventEnable(eventEnable OptionalProperty) TrendLogBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_TrendLogBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) TrendLogBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_TrendLogBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithNotifyType(notifyType OptionalProperty) TrendLogBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_TrendLogBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) TrendLogBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_TrendLogBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) TrendLogBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_TrendLogBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) TrendLogBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_TrendLogBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) TrendLogBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_TrendLogBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) TrendLogBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_TrendLogBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) TrendLogBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_TrendLogBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) TrendLogBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_TrendLogBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithPropertyList(propertyList ReadableProperty) TrendLogBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_TrendLogBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithTags(tags OptionalProperty) TrendLogBuilder { + b.Tags = tags + return b +} + +func (b *_TrendLogBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithProfileLocation(profileLocation OptionalProperty) TrendLogBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_TrendLogBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) WithProfileName(profileName OptionalProperty) TrendLogBuilder { + b.ProfileName = profileName + return b +} + +func (b *_TrendLogBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogBuilder) Build() (TrendLog, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.Enable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'enable' not set")) + } + if b.StartTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'startTime' not set")) + } + if b.StopTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stopTime' not set")) + } + if b.LogDeviceObjectProperty == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'logDeviceObjectProperty' not set")) + } + if b.LogInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'logInterval' not set")) + } + if b.COVResubscriptionInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'cOVResubscriptionInterval' not set")) + } + if b.ClientCOVIncrement == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'clientCOVIncrement' not set")) + } + if b.StopWhenFull == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stopWhenFull' not set")) + } + if b.BufferSize == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bufferSize' not set")) + } + if b.LogBuffer == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'logBuffer' not set")) + } + if b.RecordCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'recordCount' not set")) + } + if b.TotalRecordCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'totalRecordCount' not set")) + } + if b.LoggingType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'loggingType' not set")) + } + if b.AlignIntervals == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alignIntervals' not set")) + } + if b.IntervalOffset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'intervalOffset' not set")) + } + if b.Trigger == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'trigger' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.NotificationThreshold == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationThreshold' not set")) + } + if b.RecordsSinceNotification == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'recordsSinceNotification' not set")) + } + if b.LastNotifyRecord == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastNotifyRecord' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._TrendLog.deepCopy(), nil +} + +func (b *_TrendLogBuilder) MustBuild() TrendLog { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_TrendLogBuilder) DeepCopy() any { + _copy := b.CreateTrendLogBuilder().(*_TrendLogBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateTrendLogBuilder creates a TrendLogBuilder +func (b *_TrendLog) CreateTrendLogBuilder() TrendLogBuilder { + if b == nil { + return NewTrendLogBuilder() + } + return &_TrendLogBuilder{_TrendLog: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_TrendLog) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_TrendLog) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_TrendLog) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_TrendLog) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_TrendLog) GetEnable() WritableProperty { + return m.Enable +} + +func (m *_TrendLog) GetStartTime() OptionalProperty { + return m.StartTime +} + +func (m *_TrendLog) GetStopTime() OptionalProperty { + return m.StopTime +} + +func (m *_TrendLog) GetLogDeviceObjectProperty() OptionalProperty { + return m.LogDeviceObjectProperty +} + +func (m *_TrendLog) GetLogInterval() OptionalProperty { + return m.LogInterval +} + +func (m *_TrendLog) GetCOVResubscriptionInterval() OptionalProperty { + return m.COVResubscriptionInterval +} + +func (m *_TrendLog) GetClientCOVIncrement() OptionalProperty { + return m.ClientCOVIncrement +} + +func (m *_TrendLog) GetStopWhenFull() ReadableProperty { + return m.StopWhenFull +} + +func (m *_TrendLog) GetBufferSize() ReadableProperty { + return m.BufferSize +} + +func (m *_TrendLog) GetLogBuffer() ReadableProperty { + return m.LogBuffer +} + +func (m *_TrendLog) GetRecordCount() WritableProperty { + return m.RecordCount +} + +func (m *_TrendLog) GetTotalRecordCount() ReadableProperty { + return m.TotalRecordCount +} + +func (m *_TrendLog) GetLoggingType() ReadableProperty { + return m.LoggingType +} + +func (m *_TrendLog) GetAlignIntervals() OptionalProperty { + return m.AlignIntervals +} + +func (m *_TrendLog) GetIntervalOffset() OptionalProperty { + return m.IntervalOffset +} + +func (m *_TrendLog) GetTrigger() OptionalProperty { + return m.Trigger +} + +func (m *_TrendLog) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_TrendLog) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_TrendLog) GetNotificationThreshold() OptionalProperty { + return m.NotificationThreshold +} + +func (m *_TrendLog) GetRecordsSinceNotification() OptionalProperty { + return m.RecordsSinceNotification +} + +func (m *_TrendLog) GetLastNotifyRecord() OptionalProperty { + return m.LastNotifyRecord +} + +func (m *_TrendLog) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_TrendLog) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_TrendLog) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_TrendLog) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_TrendLog) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_TrendLog) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_TrendLog) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_TrendLog) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_TrendLog) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_TrendLog) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_TrendLog) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_TrendLog) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_TrendLog) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_TrendLog) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_TrendLog) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_TrendLog) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastTrendLog(structType any) TrendLog { + if casted, ok := structType.(TrendLog); ok { + return casted + } + if casted, ok := structType.(*TrendLog); ok { + return *casted + } + return nil +} + +func (m *_TrendLog) GetTypeName() string { + return "TrendLog" +} + +func (m *_TrendLog) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (enable) + lengthInBits += m.Enable.GetLengthInBits(ctx) + + // Simple field (startTime) + lengthInBits += m.StartTime.GetLengthInBits(ctx) + + // Simple field (stopTime) + lengthInBits += m.StopTime.GetLengthInBits(ctx) + + // Simple field (logDeviceObjectProperty) + lengthInBits += m.LogDeviceObjectProperty.GetLengthInBits(ctx) + + // Simple field (logInterval) + lengthInBits += m.LogInterval.GetLengthInBits(ctx) + + // Simple field (cOVResubscriptionInterval) + lengthInBits += m.COVResubscriptionInterval.GetLengthInBits(ctx) + + // Simple field (clientCOVIncrement) + lengthInBits += m.ClientCOVIncrement.GetLengthInBits(ctx) + + // Simple field (stopWhenFull) + lengthInBits += m.StopWhenFull.GetLengthInBits(ctx) + + // Simple field (bufferSize) + lengthInBits += m.BufferSize.GetLengthInBits(ctx) + + // Simple field (logBuffer) + lengthInBits += m.LogBuffer.GetLengthInBits(ctx) + + // Simple field (recordCount) + lengthInBits += m.RecordCount.GetLengthInBits(ctx) + + // Simple field (totalRecordCount) + lengthInBits += m.TotalRecordCount.GetLengthInBits(ctx) + + // Simple field (loggingType) + lengthInBits += m.LoggingType.GetLengthInBits(ctx) + + // Simple field (alignIntervals) + lengthInBits += m.AlignIntervals.GetLengthInBits(ctx) + + // Simple field (intervalOffset) + lengthInBits += m.IntervalOffset.GetLengthInBits(ctx) + + // Simple field (trigger) + lengthInBits += m.Trigger.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (notificationThreshold) + lengthInBits += m.NotificationThreshold.GetLengthInBits(ctx) + + // Simple field (recordsSinceNotification) + lengthInBits += m.RecordsSinceNotification.GetLengthInBits(ctx) + + // Simple field (lastNotifyRecord) + lengthInBits += m.LastNotifyRecord.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_TrendLog) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func TrendLogParse(ctx context.Context, theBytes []byte) (TrendLog, error) { + return TrendLogParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func TrendLogParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (TrendLog, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (TrendLog, error) { + return TrendLogParseWithBuffer(ctx, readBuffer) + } +} + +func TrendLogParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (TrendLog, error) { + v, err := (&_TrendLog{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_TrendLog) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__trendLog TrendLog, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("TrendLog"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for TrendLog") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + enable, err := ReadSimpleField[WritableProperty](ctx, "enable", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'enable' field")) + } + m.Enable = enable + + startTime, err := ReadSimpleField[OptionalProperty](ctx, "startTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'startTime' field")) + } + m.StartTime = startTime + + stopTime, err := ReadSimpleField[OptionalProperty](ctx, "stopTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stopTime' field")) + } + m.StopTime = stopTime + + logDeviceObjectProperty, err := ReadSimpleField[OptionalProperty](ctx, "logDeviceObjectProperty", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDeviceObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'logDeviceObjectProperty' field")) + } + m.LogDeviceObjectProperty = logDeviceObjectProperty + + logInterval, err := ReadSimpleField[OptionalProperty](ctx, "logInterval", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'logInterval' field")) + } + m.LogInterval = logInterval + + cOVResubscriptionInterval, err := ReadSimpleField[OptionalProperty](ctx, "cOVResubscriptionInterval", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'cOVResubscriptionInterval' field")) + } + m.COVResubscriptionInterval = cOVResubscriptionInterval + + clientCOVIncrement, err := ReadSimpleField[OptionalProperty](ctx, "clientCOVIncrement", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetClientCOV")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'clientCOVIncrement' field")) + } + m.ClientCOVIncrement = clientCOVIncrement + + stopWhenFull, err := ReadSimpleField[ReadableProperty](ctx, "stopWhenFull", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stopWhenFull' field")) + } + m.StopWhenFull = stopWhenFull + + bufferSize, err := ReadSimpleField[ReadableProperty](ctx, "bufferSize", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bufferSize' field")) + } + m.BufferSize = bufferSize + + logBuffer, err := ReadSimpleField[ReadableProperty](ctx, "logBuffer", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLogRecord")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'logBuffer' field")) + } + m.LogBuffer = logBuffer + + recordCount, err := ReadSimpleField[WritableProperty](ctx, "recordCount", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'recordCount' field")) + } + m.RecordCount = recordCount + + totalRecordCount, err := ReadSimpleField[ReadableProperty](ctx, "totalRecordCount", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'totalRecordCount' field")) + } + m.TotalRecordCount = totalRecordCount + + loggingType, err := ReadSimpleField[ReadableProperty](ctx, "loggingType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLoggingType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'loggingType' field")) + } + m.LoggingType = loggingType + + alignIntervals, err := ReadSimpleField[OptionalProperty](ctx, "alignIntervals", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alignIntervals' field")) + } + m.AlignIntervals = alignIntervals + + intervalOffset, err := ReadSimpleField[OptionalProperty](ctx, "intervalOffset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'intervalOffset' field")) + } + m.IntervalOffset = intervalOffset + + trigger, err := ReadSimpleField[OptionalProperty](ctx, "trigger", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'trigger' field")) + } + m.Trigger = trigger + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + notificationThreshold, err := ReadSimpleField[OptionalProperty](ctx, "notificationThreshold", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationThreshold' field")) + } + m.NotificationThreshold = notificationThreshold + + recordsSinceNotification, err := ReadSimpleField[OptionalProperty](ctx, "recordsSinceNotification", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'recordsSinceNotification' field")) + } + m.RecordsSinceNotification = recordsSinceNotification + + lastNotifyRecord, err := ReadSimpleField[OptionalProperty](ctx, "lastNotifyRecord", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastNotifyRecord' field")) + } + m.LastNotifyRecord = lastNotifyRecord + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("TrendLog"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for TrendLog") + } + + return m, nil +} + +func (m *_TrendLog) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_TrendLog) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("TrendLog"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for TrendLog") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "enable", m.GetEnable(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'enable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "startTime", m.GetStartTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'startTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "stopTime", m.GetStopTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stopTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "logDeviceObjectProperty", m.GetLogDeviceObjectProperty(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'logDeviceObjectProperty' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "logInterval", m.GetLogInterval(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'logInterval' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "cOVResubscriptionInterval", m.GetCOVResubscriptionInterval(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'cOVResubscriptionInterval' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "clientCOVIncrement", m.GetClientCOVIncrement(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'clientCOVIncrement' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "stopWhenFull", m.GetStopWhenFull(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stopWhenFull' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "bufferSize", m.GetBufferSize(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bufferSize' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "logBuffer", m.GetLogBuffer(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'logBuffer' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "recordCount", m.GetRecordCount(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'recordCount' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "totalRecordCount", m.GetTotalRecordCount(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'totalRecordCount' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "loggingType", m.GetLoggingType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'loggingType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alignIntervals", m.GetAlignIntervals(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alignIntervals' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "intervalOffset", m.GetIntervalOffset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'intervalOffset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "trigger", m.GetTrigger(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'trigger' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationThreshold", m.GetNotificationThreshold(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationThreshold' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "recordsSinceNotification", m.GetRecordsSinceNotification(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'recordsSinceNotification' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastNotifyRecord", m.GetLastNotifyRecord(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastNotifyRecord' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("TrendLog"); popErr != nil { + return errors.Wrap(popErr, "Error popping for TrendLog") + } + return nil +} + +func (m *_TrendLog) IsTrendLog() {} + +func (m *_TrendLog) DeepCopy() any { + return m.deepCopy() +} + +func (m *_TrendLog) deepCopy() *_TrendLog { + if m == nil { + return nil + } + _TrendLogCopy := &_TrendLog{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.Enable.DeepCopy().(WritableProperty), + m.StartTime.DeepCopy().(OptionalProperty), + m.StopTime.DeepCopy().(OptionalProperty), + m.LogDeviceObjectProperty.DeepCopy().(OptionalProperty), + m.LogInterval.DeepCopy().(OptionalProperty), + m.COVResubscriptionInterval.DeepCopy().(OptionalProperty), + m.ClientCOVIncrement.DeepCopy().(OptionalProperty), + m.StopWhenFull.DeepCopy().(ReadableProperty), + m.BufferSize.DeepCopy().(ReadableProperty), + m.LogBuffer.DeepCopy().(ReadableProperty), + m.RecordCount.DeepCopy().(WritableProperty), + m.TotalRecordCount.DeepCopy().(ReadableProperty), + m.LoggingType.DeepCopy().(ReadableProperty), + m.AlignIntervals.DeepCopy().(OptionalProperty), + m.IntervalOffset.DeepCopy().(OptionalProperty), + m.Trigger.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.NotificationThreshold.DeepCopy().(OptionalProperty), + m.RecordsSinceNotification.DeepCopy().(OptionalProperty), + m.LastNotifyRecord.DeepCopy().(OptionalProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _TrendLogCopy +} + +func (m *_TrendLog) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/TrendLogMultiple.go b/plc4go/protocols/bacnetip/readwrite/model/TrendLogMultiple.go new file mode 100644 index 00000000000..2866605017c --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/TrendLogMultiple.go @@ -0,0 +1,2276 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + . "github.com/apache/plc4x/plc4go/spi/codegen/fields" + . "github.com/apache/plc4x/plc4go/spi/codegen/io" + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// TrendLogMultiple is the corresponding interface of TrendLogMultiple +type TrendLogMultiple interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // GetObjectIdentifier returns ObjectIdentifier (property field) + GetObjectIdentifier() ReadableProperty + // GetObjectName returns ObjectName (property field) + GetObjectName() ReadableProperty + // GetObjectType returns ObjectType (property field) + GetObjectType() ReadableProperty + // GetDescription returns Description (property field) + GetDescription() OptionalProperty + // GetStatusFlags returns StatusFlags (property field) + GetStatusFlags() ReadableProperty + // GetEventState returns EventState (property field) + GetEventState() ReadableProperty + // GetReliability returns Reliability (property field) + GetReliability() OptionalProperty + // GetEnable returns Enable (property field) + GetEnable() WritableProperty + // GetStartTime returns StartTime (property field) + GetStartTime() OptionalProperty + // GetStopTime returns StopTime (property field) + GetStopTime() OptionalProperty + // GetLogDeviceObjectProperty returns LogDeviceObjectProperty (property field) + GetLogDeviceObjectProperty() ReadableProperty + // GetLoggingType returns LoggingType (property field) + GetLoggingType() ReadableProperty + // GetLogInterval returns LogInterval (property field) + GetLogInterval() ReadableProperty + // GetAlignIntervals returns AlignIntervals (property field) + GetAlignIntervals() OptionalProperty + // GetIntervalOffset returns IntervalOffset (property field) + GetIntervalOffset() OptionalProperty + // GetTrigger returns Trigger (property field) + GetTrigger() OptionalProperty + // GetStopWhenFull returns StopWhenFull (property field) + GetStopWhenFull() ReadableProperty + // GetBufferSize returns BufferSize (property field) + GetBufferSize() ReadableProperty + // GetLogBuffer returns LogBuffer (property field) + GetLogBuffer() ReadableProperty + // GetRecordCount returns RecordCount (property field) + GetRecordCount() WritableProperty + // GetTotalRecordCount returns TotalRecordCount (property field) + GetTotalRecordCount() ReadableProperty + // GetNotificationThreshold returns NotificationThreshold (property field) + GetNotificationThreshold() OptionalProperty + // GetRecordsSinceNotification returns RecordsSinceNotification (property field) + GetRecordsSinceNotification() OptionalProperty + // GetLastNotifyRecord returns LastNotifyRecord (property field) + GetLastNotifyRecord() OptionalProperty + // GetNotificationClass returns NotificationClass (property field) + GetNotificationClass() OptionalProperty + // GetEventEnable returns EventEnable (property field) + GetEventEnable() OptionalProperty + // GetAckedTransitions returns AckedTransitions (property field) + GetAckedTransitions() OptionalProperty + // GetNotifyType returns NotifyType (property field) + GetNotifyType() OptionalProperty + // GetEventTimeStamps returns EventTimeStamps (property field) + GetEventTimeStamps() OptionalProperty + // GetEventMessageTexts returns EventMessageTexts (property field) + GetEventMessageTexts() OptionalProperty + // GetEventMessageTextsConfig returns EventMessageTextsConfig (property field) + GetEventMessageTextsConfig() OptionalProperty + // GetEventDetectionEnable returns EventDetectionEnable (property field) + GetEventDetectionEnable() OptionalProperty + // GetEventAlgorithmInhibitRef returns EventAlgorithmInhibitRef (property field) + GetEventAlgorithmInhibitRef() OptionalProperty + // GetEventAlgorithmInhibit returns EventAlgorithmInhibit (property field) + GetEventAlgorithmInhibit() OptionalProperty + // GetReliabilityEvaluationInhibit returns ReliabilityEvaluationInhibit (property field) + GetReliabilityEvaluationInhibit() OptionalProperty + // GetPropertyList returns PropertyList (property field) + GetPropertyList() ReadableProperty + // GetTags returns Tags (property field) + GetTags() OptionalProperty + // GetProfileLocation returns ProfileLocation (property field) + GetProfileLocation() OptionalProperty + // GetProfileName returns ProfileName (property field) + GetProfileName() OptionalProperty + // IsTrendLogMultiple is a marker method to prevent unintentional type checks (interfaces of same signature) + IsTrendLogMultiple() + // CreateBuilder creates a TrendLogMultipleBuilder + CreateTrendLogMultipleBuilder() TrendLogMultipleBuilder +} + +// _TrendLogMultiple is the data-structure of this message +type _TrendLogMultiple struct { + ObjectIdentifier ReadableProperty + ObjectName ReadableProperty + ObjectType ReadableProperty + Description OptionalProperty + StatusFlags ReadableProperty + EventState ReadableProperty + Reliability OptionalProperty + Enable WritableProperty + StartTime OptionalProperty + StopTime OptionalProperty + LogDeviceObjectProperty ReadableProperty + LoggingType ReadableProperty + LogInterval ReadableProperty + AlignIntervals OptionalProperty + IntervalOffset OptionalProperty + Trigger OptionalProperty + StopWhenFull ReadableProperty + BufferSize ReadableProperty + LogBuffer ReadableProperty + RecordCount WritableProperty + TotalRecordCount ReadableProperty + NotificationThreshold OptionalProperty + RecordsSinceNotification OptionalProperty + LastNotifyRecord OptionalProperty + NotificationClass OptionalProperty + EventEnable OptionalProperty + AckedTransitions OptionalProperty + NotifyType OptionalProperty + EventTimeStamps OptionalProperty + EventMessageTexts OptionalProperty + EventMessageTextsConfig OptionalProperty + EventDetectionEnable OptionalProperty + EventAlgorithmInhibitRef OptionalProperty + EventAlgorithmInhibit OptionalProperty + ReliabilityEvaluationInhibit OptionalProperty + PropertyList ReadableProperty + Tags OptionalProperty + ProfileLocation OptionalProperty + ProfileName OptionalProperty +} + +var _ TrendLogMultiple = (*_TrendLogMultiple)(nil) + +// NewTrendLogMultiple factory function for _TrendLogMultiple +func NewTrendLogMultiple(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, enable WritableProperty, startTime OptionalProperty, stopTime OptionalProperty, logDeviceObjectProperty ReadableProperty, loggingType ReadableProperty, logInterval ReadableProperty, alignIntervals OptionalProperty, intervalOffset OptionalProperty, trigger OptionalProperty, stopWhenFull ReadableProperty, bufferSize ReadableProperty, logBuffer ReadableProperty, recordCount WritableProperty, totalRecordCount ReadableProperty, notificationThreshold OptionalProperty, recordsSinceNotification OptionalProperty, lastNotifyRecord OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) *_TrendLogMultiple { + if objectIdentifier == nil { + panic("objectIdentifier of type ReadableProperty for TrendLogMultiple must not be nil") + } + if objectName == nil { + panic("objectName of type ReadableProperty for TrendLogMultiple must not be nil") + } + if objectType == nil { + panic("objectType of type ReadableProperty for TrendLogMultiple must not be nil") + } + if description == nil { + panic("description of type OptionalProperty for TrendLogMultiple must not be nil") + } + if statusFlags == nil { + panic("statusFlags of type ReadableProperty for TrendLogMultiple must not be nil") + } + if eventState == nil { + panic("eventState of type ReadableProperty for TrendLogMultiple must not be nil") + } + if reliability == nil { + panic("reliability of type OptionalProperty for TrendLogMultiple must not be nil") + } + if enable == nil { + panic("enable of type WritableProperty for TrendLogMultiple must not be nil") + } + if startTime == nil { + panic("startTime of type OptionalProperty for TrendLogMultiple must not be nil") + } + if stopTime == nil { + panic("stopTime of type OptionalProperty for TrendLogMultiple must not be nil") + } + if logDeviceObjectProperty == nil { + panic("logDeviceObjectProperty of type ReadableProperty for TrendLogMultiple must not be nil") + } + if loggingType == nil { + panic("loggingType of type ReadableProperty for TrendLogMultiple must not be nil") + } + if logInterval == nil { + panic("logInterval of type ReadableProperty for TrendLogMultiple must not be nil") + } + if alignIntervals == nil { + panic("alignIntervals of type OptionalProperty for TrendLogMultiple must not be nil") + } + if intervalOffset == nil { + panic("intervalOffset of type OptionalProperty for TrendLogMultiple must not be nil") + } + if trigger == nil { + panic("trigger of type OptionalProperty for TrendLogMultiple must not be nil") + } + if stopWhenFull == nil { + panic("stopWhenFull of type ReadableProperty for TrendLogMultiple must not be nil") + } + if bufferSize == nil { + panic("bufferSize of type ReadableProperty for TrendLogMultiple must not be nil") + } + if logBuffer == nil { + panic("logBuffer of type ReadableProperty for TrendLogMultiple must not be nil") + } + if recordCount == nil { + panic("recordCount of type WritableProperty for TrendLogMultiple must not be nil") + } + if totalRecordCount == nil { + panic("totalRecordCount of type ReadableProperty for TrendLogMultiple must not be nil") + } + if notificationThreshold == nil { + panic("notificationThreshold of type OptionalProperty for TrendLogMultiple must not be nil") + } + if recordsSinceNotification == nil { + panic("recordsSinceNotification of type OptionalProperty for TrendLogMultiple must not be nil") + } + if lastNotifyRecord == nil { + panic("lastNotifyRecord of type OptionalProperty for TrendLogMultiple must not be nil") + } + if notificationClass == nil { + panic("notificationClass of type OptionalProperty for TrendLogMultiple must not be nil") + } + if eventEnable == nil { + panic("eventEnable of type OptionalProperty for TrendLogMultiple must not be nil") + } + if ackedTransitions == nil { + panic("ackedTransitions of type OptionalProperty for TrendLogMultiple must not be nil") + } + if notifyType == nil { + panic("notifyType of type OptionalProperty for TrendLogMultiple must not be nil") + } + if eventTimeStamps == nil { + panic("eventTimeStamps of type OptionalProperty for TrendLogMultiple must not be nil") + } + if eventMessageTexts == nil { + panic("eventMessageTexts of type OptionalProperty for TrendLogMultiple must not be nil") + } + if eventMessageTextsConfig == nil { + panic("eventMessageTextsConfig of type OptionalProperty for TrendLogMultiple must not be nil") + } + if eventDetectionEnable == nil { + panic("eventDetectionEnable of type OptionalProperty for TrendLogMultiple must not be nil") + } + if eventAlgorithmInhibitRef == nil { + panic("eventAlgorithmInhibitRef of type OptionalProperty for TrendLogMultiple must not be nil") + } + if eventAlgorithmInhibit == nil { + panic("eventAlgorithmInhibit of type OptionalProperty for TrendLogMultiple must not be nil") + } + if reliabilityEvaluationInhibit == nil { + panic("reliabilityEvaluationInhibit of type OptionalProperty for TrendLogMultiple must not be nil") + } + if propertyList == nil { + panic("propertyList of type ReadableProperty for TrendLogMultiple must not be nil") + } + if tags == nil { + panic("tags of type OptionalProperty for TrendLogMultiple must not be nil") + } + if profileLocation == nil { + panic("profileLocation of type OptionalProperty for TrendLogMultiple must not be nil") + } + if profileName == nil { + panic("profileName of type OptionalProperty for TrendLogMultiple must not be nil") + } + return &_TrendLogMultiple{ObjectIdentifier: objectIdentifier, ObjectName: objectName, ObjectType: objectType, Description: description, StatusFlags: statusFlags, EventState: eventState, Reliability: reliability, Enable: enable, StartTime: startTime, StopTime: stopTime, LogDeviceObjectProperty: logDeviceObjectProperty, LoggingType: loggingType, LogInterval: logInterval, AlignIntervals: alignIntervals, IntervalOffset: intervalOffset, Trigger: trigger, StopWhenFull: stopWhenFull, BufferSize: bufferSize, LogBuffer: logBuffer, RecordCount: recordCount, TotalRecordCount: totalRecordCount, NotificationThreshold: notificationThreshold, RecordsSinceNotification: recordsSinceNotification, LastNotifyRecord: lastNotifyRecord, NotificationClass: notificationClass, EventEnable: eventEnable, AckedTransitions: ackedTransitions, NotifyType: notifyType, EventTimeStamps: eventTimeStamps, EventMessageTexts: eventMessageTexts, EventMessageTextsConfig: eventMessageTextsConfig, EventDetectionEnable: eventDetectionEnable, EventAlgorithmInhibitRef: eventAlgorithmInhibitRef, EventAlgorithmInhibit: eventAlgorithmInhibit, ReliabilityEvaluationInhibit: reliabilityEvaluationInhibit, PropertyList: propertyList, Tags: tags, ProfileLocation: profileLocation, ProfileName: profileName} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// TrendLogMultipleBuilder is a builder for TrendLogMultiple +type TrendLogMultipleBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, enable WritableProperty, startTime OptionalProperty, stopTime OptionalProperty, logDeviceObjectProperty ReadableProperty, loggingType ReadableProperty, logInterval ReadableProperty, alignIntervals OptionalProperty, intervalOffset OptionalProperty, trigger OptionalProperty, stopWhenFull ReadableProperty, bufferSize ReadableProperty, logBuffer ReadableProperty, recordCount WritableProperty, totalRecordCount ReadableProperty, notificationThreshold OptionalProperty, recordsSinceNotification OptionalProperty, lastNotifyRecord OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TrendLogMultipleBuilder + // WithObjectIdentifier adds ObjectIdentifier (property field) + WithObjectIdentifier(ReadableProperty) TrendLogMultipleBuilder + // WithObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder + WithObjectIdentifierBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithObjectName adds ObjectName (property field) + WithObjectName(ReadableProperty) TrendLogMultipleBuilder + // WithObjectNameBuilder adds ObjectName (property field) which is build by the builder + WithObjectNameBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithObjectType adds ObjectType (property field) + WithObjectType(ReadableProperty) TrendLogMultipleBuilder + // WithObjectTypeBuilder adds ObjectType (property field) which is build by the builder + WithObjectTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithDescription adds Description (property field) + WithDescription(OptionalProperty) TrendLogMultipleBuilder + // WithDescriptionBuilder adds Description (property field) which is build by the builder + WithDescriptionBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithStatusFlags adds StatusFlags (property field) + WithStatusFlags(ReadableProperty) TrendLogMultipleBuilder + // WithStatusFlagsBuilder adds StatusFlags (property field) which is build by the builder + WithStatusFlagsBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithEventState adds EventState (property field) + WithEventState(ReadableProperty) TrendLogMultipleBuilder + // WithEventStateBuilder adds EventState (property field) which is build by the builder + WithEventStateBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithReliability adds Reliability (property field) + WithReliability(OptionalProperty) TrendLogMultipleBuilder + // WithReliabilityBuilder adds Reliability (property field) which is build by the builder + WithReliabilityBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithEnable adds Enable (property field) + WithEnable(WritableProperty) TrendLogMultipleBuilder + // WithEnableBuilder adds Enable (property field) which is build by the builder + WithEnableBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) TrendLogMultipleBuilder + // WithStartTime adds StartTime (property field) + WithStartTime(OptionalProperty) TrendLogMultipleBuilder + // WithStartTimeBuilder adds StartTime (property field) which is build by the builder + WithStartTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithStopTime adds StopTime (property field) + WithStopTime(OptionalProperty) TrendLogMultipleBuilder + // WithStopTimeBuilder adds StopTime (property field) which is build by the builder + WithStopTimeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithLogDeviceObjectProperty adds LogDeviceObjectProperty (property field) + WithLogDeviceObjectProperty(ReadableProperty) TrendLogMultipleBuilder + // WithLogDeviceObjectPropertyBuilder adds LogDeviceObjectProperty (property field) which is build by the builder + WithLogDeviceObjectPropertyBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithLoggingType adds LoggingType (property field) + WithLoggingType(ReadableProperty) TrendLogMultipleBuilder + // WithLoggingTypeBuilder adds LoggingType (property field) which is build by the builder + WithLoggingTypeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithLogInterval adds LogInterval (property field) + WithLogInterval(ReadableProperty) TrendLogMultipleBuilder + // WithLogIntervalBuilder adds LogInterval (property field) which is build by the builder + WithLogIntervalBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithAlignIntervals adds AlignIntervals (property field) + WithAlignIntervals(OptionalProperty) TrendLogMultipleBuilder + // WithAlignIntervalsBuilder adds AlignIntervals (property field) which is build by the builder + WithAlignIntervalsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithIntervalOffset adds IntervalOffset (property field) + WithIntervalOffset(OptionalProperty) TrendLogMultipleBuilder + // WithIntervalOffsetBuilder adds IntervalOffset (property field) which is build by the builder + WithIntervalOffsetBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithTrigger adds Trigger (property field) + WithTrigger(OptionalProperty) TrendLogMultipleBuilder + // WithTriggerBuilder adds Trigger (property field) which is build by the builder + WithTriggerBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithStopWhenFull adds StopWhenFull (property field) + WithStopWhenFull(ReadableProperty) TrendLogMultipleBuilder + // WithStopWhenFullBuilder adds StopWhenFull (property field) which is build by the builder + WithStopWhenFullBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithBufferSize adds BufferSize (property field) + WithBufferSize(ReadableProperty) TrendLogMultipleBuilder + // WithBufferSizeBuilder adds BufferSize (property field) which is build by the builder + WithBufferSizeBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithLogBuffer adds LogBuffer (property field) + WithLogBuffer(ReadableProperty) TrendLogMultipleBuilder + // WithLogBufferBuilder adds LogBuffer (property field) which is build by the builder + WithLogBufferBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithRecordCount adds RecordCount (property field) + WithRecordCount(WritableProperty) TrendLogMultipleBuilder + // WithRecordCountBuilder adds RecordCount (property field) which is build by the builder + WithRecordCountBuilder(func(WritablePropertyBuilder) WritablePropertyBuilder) TrendLogMultipleBuilder + // WithTotalRecordCount adds TotalRecordCount (property field) + WithTotalRecordCount(ReadableProperty) TrendLogMultipleBuilder + // WithTotalRecordCountBuilder adds TotalRecordCount (property field) which is build by the builder + WithTotalRecordCountBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithNotificationThreshold adds NotificationThreshold (property field) + WithNotificationThreshold(OptionalProperty) TrendLogMultipleBuilder + // WithNotificationThresholdBuilder adds NotificationThreshold (property field) which is build by the builder + WithNotificationThresholdBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithRecordsSinceNotification adds RecordsSinceNotification (property field) + WithRecordsSinceNotification(OptionalProperty) TrendLogMultipleBuilder + // WithRecordsSinceNotificationBuilder adds RecordsSinceNotification (property field) which is build by the builder + WithRecordsSinceNotificationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithLastNotifyRecord adds LastNotifyRecord (property field) + WithLastNotifyRecord(OptionalProperty) TrendLogMultipleBuilder + // WithLastNotifyRecordBuilder adds LastNotifyRecord (property field) which is build by the builder + WithLastNotifyRecordBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithNotificationClass adds NotificationClass (property field) + WithNotificationClass(OptionalProperty) TrendLogMultipleBuilder + // WithNotificationClassBuilder adds NotificationClass (property field) which is build by the builder + WithNotificationClassBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithEventEnable adds EventEnable (property field) + WithEventEnable(OptionalProperty) TrendLogMultipleBuilder + // WithEventEnableBuilder adds EventEnable (property field) which is build by the builder + WithEventEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithAckedTransitions adds AckedTransitions (property field) + WithAckedTransitions(OptionalProperty) TrendLogMultipleBuilder + // WithAckedTransitionsBuilder adds AckedTransitions (property field) which is build by the builder + WithAckedTransitionsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithNotifyType adds NotifyType (property field) + WithNotifyType(OptionalProperty) TrendLogMultipleBuilder + // WithNotifyTypeBuilder adds NotifyType (property field) which is build by the builder + WithNotifyTypeBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithEventTimeStamps adds EventTimeStamps (property field) + WithEventTimeStamps(OptionalProperty) TrendLogMultipleBuilder + // WithEventTimeStampsBuilder adds EventTimeStamps (property field) which is build by the builder + WithEventTimeStampsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithEventMessageTexts adds EventMessageTexts (property field) + WithEventMessageTexts(OptionalProperty) TrendLogMultipleBuilder + // WithEventMessageTextsBuilder adds EventMessageTexts (property field) which is build by the builder + WithEventMessageTextsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithEventMessageTextsConfig adds EventMessageTextsConfig (property field) + WithEventMessageTextsConfig(OptionalProperty) TrendLogMultipleBuilder + // WithEventMessageTextsConfigBuilder adds EventMessageTextsConfig (property field) which is build by the builder + WithEventMessageTextsConfigBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithEventDetectionEnable adds EventDetectionEnable (property field) + WithEventDetectionEnable(OptionalProperty) TrendLogMultipleBuilder + // WithEventDetectionEnableBuilder adds EventDetectionEnable (property field) which is build by the builder + WithEventDetectionEnableBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithEventAlgorithmInhibitRef adds EventAlgorithmInhibitRef (property field) + WithEventAlgorithmInhibitRef(OptionalProperty) TrendLogMultipleBuilder + // WithEventAlgorithmInhibitRefBuilder adds EventAlgorithmInhibitRef (property field) which is build by the builder + WithEventAlgorithmInhibitRefBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithEventAlgorithmInhibit adds EventAlgorithmInhibit (property field) + WithEventAlgorithmInhibit(OptionalProperty) TrendLogMultipleBuilder + // WithEventAlgorithmInhibitBuilder adds EventAlgorithmInhibit (property field) which is build by the builder + WithEventAlgorithmInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithReliabilityEvaluationInhibit adds ReliabilityEvaluationInhibit (property field) + WithReliabilityEvaluationInhibit(OptionalProperty) TrendLogMultipleBuilder + // WithReliabilityEvaluationInhibitBuilder adds ReliabilityEvaluationInhibit (property field) which is build by the builder + WithReliabilityEvaluationInhibitBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithPropertyList adds PropertyList (property field) + WithPropertyList(ReadableProperty) TrendLogMultipleBuilder + // WithPropertyListBuilder adds PropertyList (property field) which is build by the builder + WithPropertyListBuilder(func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder + // WithTags adds Tags (property field) + WithTags(OptionalProperty) TrendLogMultipleBuilder + // WithTagsBuilder adds Tags (property field) which is build by the builder + WithTagsBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithProfileLocation adds ProfileLocation (property field) + WithProfileLocation(OptionalProperty) TrendLogMultipleBuilder + // WithProfileLocationBuilder adds ProfileLocation (property field) which is build by the builder + WithProfileLocationBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // WithProfileName adds ProfileName (property field) + WithProfileName(OptionalProperty) TrendLogMultipleBuilder + // WithProfileNameBuilder adds ProfileName (property field) which is build by the builder + WithProfileNameBuilder(func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder + // Build builds the TrendLogMultiple or returns an error if something is wrong + Build() (TrendLogMultiple, error) + // MustBuild does the same as Build but panics on error + MustBuild() TrendLogMultiple +} + +// NewTrendLogMultipleBuilder() creates a TrendLogMultipleBuilder +func NewTrendLogMultipleBuilder() TrendLogMultipleBuilder { + return &_TrendLogMultipleBuilder{_TrendLogMultiple: new(_TrendLogMultiple)} +} + +type _TrendLogMultipleBuilder struct { + *_TrendLogMultiple + + err *utils.MultiError +} + +var _ (TrendLogMultipleBuilder) = (*_TrendLogMultipleBuilder)(nil) + +func (b *_TrendLogMultipleBuilder) WithMandatoryFields(objectIdentifier ReadableProperty, objectName ReadableProperty, objectType ReadableProperty, description OptionalProperty, statusFlags ReadableProperty, eventState ReadableProperty, reliability OptionalProperty, enable WritableProperty, startTime OptionalProperty, stopTime OptionalProperty, logDeviceObjectProperty ReadableProperty, loggingType ReadableProperty, logInterval ReadableProperty, alignIntervals OptionalProperty, intervalOffset OptionalProperty, trigger OptionalProperty, stopWhenFull ReadableProperty, bufferSize ReadableProperty, logBuffer ReadableProperty, recordCount WritableProperty, totalRecordCount ReadableProperty, notificationThreshold OptionalProperty, recordsSinceNotification OptionalProperty, lastNotifyRecord OptionalProperty, notificationClass OptionalProperty, eventEnable OptionalProperty, ackedTransitions OptionalProperty, notifyType OptionalProperty, eventTimeStamps OptionalProperty, eventMessageTexts OptionalProperty, eventMessageTextsConfig OptionalProperty, eventDetectionEnable OptionalProperty, eventAlgorithmInhibitRef OptionalProperty, eventAlgorithmInhibit OptionalProperty, reliabilityEvaluationInhibit OptionalProperty, propertyList ReadableProperty, tags OptionalProperty, profileLocation OptionalProperty, profileName OptionalProperty) TrendLogMultipleBuilder { + return b.WithObjectIdentifier(objectIdentifier).WithObjectName(objectName).WithObjectType(objectType).WithDescription(description).WithStatusFlags(statusFlags).WithEventState(eventState).WithReliability(reliability).WithEnable(enable).WithStartTime(startTime).WithStopTime(stopTime).WithLogDeviceObjectProperty(logDeviceObjectProperty).WithLoggingType(loggingType).WithLogInterval(logInterval).WithAlignIntervals(alignIntervals).WithIntervalOffset(intervalOffset).WithTrigger(trigger).WithStopWhenFull(stopWhenFull).WithBufferSize(bufferSize).WithLogBuffer(logBuffer).WithRecordCount(recordCount).WithTotalRecordCount(totalRecordCount).WithNotificationThreshold(notificationThreshold).WithRecordsSinceNotification(recordsSinceNotification).WithLastNotifyRecord(lastNotifyRecord).WithNotificationClass(notificationClass).WithEventEnable(eventEnable).WithAckedTransitions(ackedTransitions).WithNotifyType(notifyType).WithEventTimeStamps(eventTimeStamps).WithEventMessageTexts(eventMessageTexts).WithEventMessageTextsConfig(eventMessageTextsConfig).WithEventDetectionEnable(eventDetectionEnable).WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef).WithEventAlgorithmInhibit(eventAlgorithmInhibit).WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit).WithPropertyList(propertyList).WithTags(tags).WithProfileLocation(profileLocation).WithProfileName(profileName) +} + +func (b *_TrendLogMultipleBuilder) WithObjectIdentifier(objectIdentifier ReadableProperty) TrendLogMultipleBuilder { + b.ObjectIdentifier = objectIdentifier + return b +} + +func (b *_TrendLogMultipleBuilder) WithObjectIdentifierBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.ObjectIdentifier.CreateReadablePropertyBuilder()) + var err error + b.ObjectIdentifier, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithObjectName(objectName ReadableProperty) TrendLogMultipleBuilder { + b.ObjectName = objectName + return b +} + +func (b *_TrendLogMultipleBuilder) WithObjectNameBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.ObjectName.CreateReadablePropertyBuilder()) + var err error + b.ObjectName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithObjectType(objectType ReadableProperty) TrendLogMultipleBuilder { + b.ObjectType = objectType + return b +} + +func (b *_TrendLogMultipleBuilder) WithObjectTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.ObjectType.CreateReadablePropertyBuilder()) + var err error + b.ObjectType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithDescription(description OptionalProperty) TrendLogMultipleBuilder { + b.Description = description + return b +} + +func (b *_TrendLogMultipleBuilder) WithDescriptionBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.Description.CreateOptionalPropertyBuilder()) + var err error + b.Description, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithStatusFlags(statusFlags ReadableProperty) TrendLogMultipleBuilder { + b.StatusFlags = statusFlags + return b +} + +func (b *_TrendLogMultipleBuilder) WithStatusFlagsBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.StatusFlags.CreateReadablePropertyBuilder()) + var err error + b.StatusFlags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventState(eventState ReadableProperty) TrendLogMultipleBuilder { + b.EventState = eventState + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventStateBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.EventState.CreateReadablePropertyBuilder()) + var err error + b.EventState, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithReliability(reliability OptionalProperty) TrendLogMultipleBuilder { + b.Reliability = reliability + return b +} + +func (b *_TrendLogMultipleBuilder) WithReliabilityBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.Reliability.CreateOptionalPropertyBuilder()) + var err error + b.Reliability, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithEnable(enable WritableProperty) TrendLogMultipleBuilder { + b.Enable = enable + return b +} + +func (b *_TrendLogMultipleBuilder) WithEnableBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.Enable.CreateWritablePropertyBuilder()) + var err error + b.Enable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithStartTime(startTime OptionalProperty) TrendLogMultipleBuilder { + b.StartTime = startTime + return b +} + +func (b *_TrendLogMultipleBuilder) WithStartTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.StartTime.CreateOptionalPropertyBuilder()) + var err error + b.StartTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithStopTime(stopTime OptionalProperty) TrendLogMultipleBuilder { + b.StopTime = stopTime + return b +} + +func (b *_TrendLogMultipleBuilder) WithStopTimeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.StopTime.CreateOptionalPropertyBuilder()) + var err error + b.StopTime, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithLogDeviceObjectProperty(logDeviceObjectProperty ReadableProperty) TrendLogMultipleBuilder { + b.LogDeviceObjectProperty = logDeviceObjectProperty + return b +} + +func (b *_TrendLogMultipleBuilder) WithLogDeviceObjectPropertyBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.LogDeviceObjectProperty.CreateReadablePropertyBuilder()) + var err error + b.LogDeviceObjectProperty, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithLoggingType(loggingType ReadableProperty) TrendLogMultipleBuilder { + b.LoggingType = loggingType + return b +} + +func (b *_TrendLogMultipleBuilder) WithLoggingTypeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.LoggingType.CreateReadablePropertyBuilder()) + var err error + b.LoggingType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithLogInterval(logInterval ReadableProperty) TrendLogMultipleBuilder { + b.LogInterval = logInterval + return b +} + +func (b *_TrendLogMultipleBuilder) WithLogIntervalBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.LogInterval.CreateReadablePropertyBuilder()) + var err error + b.LogInterval, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithAlignIntervals(alignIntervals OptionalProperty) TrendLogMultipleBuilder { + b.AlignIntervals = alignIntervals + return b +} + +func (b *_TrendLogMultipleBuilder) WithAlignIntervalsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.AlignIntervals.CreateOptionalPropertyBuilder()) + var err error + b.AlignIntervals, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithIntervalOffset(intervalOffset OptionalProperty) TrendLogMultipleBuilder { + b.IntervalOffset = intervalOffset + return b +} + +func (b *_TrendLogMultipleBuilder) WithIntervalOffsetBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.IntervalOffset.CreateOptionalPropertyBuilder()) + var err error + b.IntervalOffset, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithTrigger(trigger OptionalProperty) TrendLogMultipleBuilder { + b.Trigger = trigger + return b +} + +func (b *_TrendLogMultipleBuilder) WithTriggerBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.Trigger.CreateOptionalPropertyBuilder()) + var err error + b.Trigger, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithStopWhenFull(stopWhenFull ReadableProperty) TrendLogMultipleBuilder { + b.StopWhenFull = stopWhenFull + return b +} + +func (b *_TrendLogMultipleBuilder) WithStopWhenFullBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.StopWhenFull.CreateReadablePropertyBuilder()) + var err error + b.StopWhenFull, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithBufferSize(bufferSize ReadableProperty) TrendLogMultipleBuilder { + b.BufferSize = bufferSize + return b +} + +func (b *_TrendLogMultipleBuilder) WithBufferSizeBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.BufferSize.CreateReadablePropertyBuilder()) + var err error + b.BufferSize, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithLogBuffer(logBuffer ReadableProperty) TrendLogMultipleBuilder { + b.LogBuffer = logBuffer + return b +} + +func (b *_TrendLogMultipleBuilder) WithLogBufferBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.LogBuffer.CreateReadablePropertyBuilder()) + var err error + b.LogBuffer, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithRecordCount(recordCount WritableProperty) TrendLogMultipleBuilder { + b.RecordCount = recordCount + return b +} + +func (b *_TrendLogMultipleBuilder) WithRecordCountBuilder(builderSupplier func(WritablePropertyBuilder) WritablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.RecordCount.CreateWritablePropertyBuilder()) + var err error + b.RecordCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "WritablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithTotalRecordCount(totalRecordCount ReadableProperty) TrendLogMultipleBuilder { + b.TotalRecordCount = totalRecordCount + return b +} + +func (b *_TrendLogMultipleBuilder) WithTotalRecordCountBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.TotalRecordCount.CreateReadablePropertyBuilder()) + var err error + b.TotalRecordCount, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithNotificationThreshold(notificationThreshold OptionalProperty) TrendLogMultipleBuilder { + b.NotificationThreshold = notificationThreshold + return b +} + +func (b *_TrendLogMultipleBuilder) WithNotificationThresholdBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.NotificationThreshold.CreateOptionalPropertyBuilder()) + var err error + b.NotificationThreshold, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithRecordsSinceNotification(recordsSinceNotification OptionalProperty) TrendLogMultipleBuilder { + b.RecordsSinceNotification = recordsSinceNotification + return b +} + +func (b *_TrendLogMultipleBuilder) WithRecordsSinceNotificationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.RecordsSinceNotification.CreateOptionalPropertyBuilder()) + var err error + b.RecordsSinceNotification, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithLastNotifyRecord(lastNotifyRecord OptionalProperty) TrendLogMultipleBuilder { + b.LastNotifyRecord = lastNotifyRecord + return b +} + +func (b *_TrendLogMultipleBuilder) WithLastNotifyRecordBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.LastNotifyRecord.CreateOptionalPropertyBuilder()) + var err error + b.LastNotifyRecord, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithNotificationClass(notificationClass OptionalProperty) TrendLogMultipleBuilder { + b.NotificationClass = notificationClass + return b +} + +func (b *_TrendLogMultipleBuilder) WithNotificationClassBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.NotificationClass.CreateOptionalPropertyBuilder()) + var err error + b.NotificationClass, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventEnable(eventEnable OptionalProperty) TrendLogMultipleBuilder { + b.EventEnable = eventEnable + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.EventEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithAckedTransitions(ackedTransitions OptionalProperty) TrendLogMultipleBuilder { + b.AckedTransitions = ackedTransitions + return b +} + +func (b *_TrendLogMultipleBuilder) WithAckedTransitionsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.AckedTransitions.CreateOptionalPropertyBuilder()) + var err error + b.AckedTransitions, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithNotifyType(notifyType OptionalProperty) TrendLogMultipleBuilder { + b.NotifyType = notifyType + return b +} + +func (b *_TrendLogMultipleBuilder) WithNotifyTypeBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.NotifyType.CreateOptionalPropertyBuilder()) + var err error + b.NotifyType, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventTimeStamps(eventTimeStamps OptionalProperty) TrendLogMultipleBuilder { + b.EventTimeStamps = eventTimeStamps + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventTimeStampsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.EventTimeStamps.CreateOptionalPropertyBuilder()) + var err error + b.EventTimeStamps, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventMessageTexts(eventMessageTexts OptionalProperty) TrendLogMultipleBuilder { + b.EventMessageTexts = eventMessageTexts + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventMessageTextsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.EventMessageTexts.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTexts, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventMessageTextsConfig(eventMessageTextsConfig OptionalProperty) TrendLogMultipleBuilder { + b.EventMessageTextsConfig = eventMessageTextsConfig + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventMessageTextsConfigBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.EventMessageTextsConfig.CreateOptionalPropertyBuilder()) + var err error + b.EventMessageTextsConfig, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventDetectionEnable(eventDetectionEnable OptionalProperty) TrendLogMultipleBuilder { + b.EventDetectionEnable = eventDetectionEnable + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventDetectionEnableBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.EventDetectionEnable.CreateOptionalPropertyBuilder()) + var err error + b.EventDetectionEnable, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventAlgorithmInhibitRef(eventAlgorithmInhibitRef OptionalProperty) TrendLogMultipleBuilder { + b.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventAlgorithmInhibitRefBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.EventAlgorithmInhibitRef.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibitRef, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventAlgorithmInhibit(eventAlgorithmInhibit OptionalProperty) TrendLogMultipleBuilder { + b.EventAlgorithmInhibit = eventAlgorithmInhibit + return b +} + +func (b *_TrendLogMultipleBuilder) WithEventAlgorithmInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.EventAlgorithmInhibit.CreateOptionalPropertyBuilder()) + var err error + b.EventAlgorithmInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithReliabilityEvaluationInhibit(reliabilityEvaluationInhibit OptionalProperty) TrendLogMultipleBuilder { + b.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + return b +} + +func (b *_TrendLogMultipleBuilder) WithReliabilityEvaluationInhibitBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.ReliabilityEvaluationInhibit.CreateOptionalPropertyBuilder()) + var err error + b.ReliabilityEvaluationInhibit, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithPropertyList(propertyList ReadableProperty) TrendLogMultipleBuilder { + b.PropertyList = propertyList + return b +} + +func (b *_TrendLogMultipleBuilder) WithPropertyListBuilder(builderSupplier func(ReadablePropertyBuilder) ReadablePropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.PropertyList.CreateReadablePropertyBuilder()) + var err error + b.PropertyList, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "ReadablePropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithTags(tags OptionalProperty) TrendLogMultipleBuilder { + b.Tags = tags + return b +} + +func (b *_TrendLogMultipleBuilder) WithTagsBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.Tags.CreateOptionalPropertyBuilder()) + var err error + b.Tags, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithProfileLocation(profileLocation OptionalProperty) TrendLogMultipleBuilder { + b.ProfileLocation = profileLocation + return b +} + +func (b *_TrendLogMultipleBuilder) WithProfileLocationBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.ProfileLocation.CreateOptionalPropertyBuilder()) + var err error + b.ProfileLocation, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) WithProfileName(profileName OptionalProperty) TrendLogMultipleBuilder { + b.ProfileName = profileName + return b +} + +func (b *_TrendLogMultipleBuilder) WithProfileNameBuilder(builderSupplier func(OptionalPropertyBuilder) OptionalPropertyBuilder) TrendLogMultipleBuilder { + builder := builderSupplier(b.ProfileName.CreateOptionalPropertyBuilder()) + var err error + b.ProfileName, err = builder.Build() + if err != nil { + if b.err == nil { + b.err = &utils.MultiError{MainError: errors.New("sub builder failed")} + } + b.err.Append(errors.Wrap(err, "OptionalPropertyBuilder failed")) + } + return b +} + +func (b *_TrendLogMultipleBuilder) Build() (TrendLogMultiple, error) { + if b.ObjectIdentifier == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectIdentifier' not set")) + } + if b.ObjectName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectName' not set")) + } + if b.ObjectType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'objectType' not set")) + } + if b.Description == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'description' not set")) + } + if b.StatusFlags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'statusFlags' not set")) + } + if b.EventState == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventState' not set")) + } + if b.Reliability == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliability' not set")) + } + if b.Enable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'enable' not set")) + } + if b.StartTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'startTime' not set")) + } + if b.StopTime == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stopTime' not set")) + } + if b.LogDeviceObjectProperty == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'logDeviceObjectProperty' not set")) + } + if b.LoggingType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'loggingType' not set")) + } + if b.LogInterval == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'logInterval' not set")) + } + if b.AlignIntervals == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'alignIntervals' not set")) + } + if b.IntervalOffset == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'intervalOffset' not set")) + } + if b.Trigger == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'trigger' not set")) + } + if b.StopWhenFull == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'stopWhenFull' not set")) + } + if b.BufferSize == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'bufferSize' not set")) + } + if b.LogBuffer == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'logBuffer' not set")) + } + if b.RecordCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'recordCount' not set")) + } + if b.TotalRecordCount == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'totalRecordCount' not set")) + } + if b.NotificationThreshold == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationThreshold' not set")) + } + if b.RecordsSinceNotification == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'recordsSinceNotification' not set")) + } + if b.LastNotifyRecord == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'lastNotifyRecord' not set")) + } + if b.NotificationClass == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notificationClass' not set")) + } + if b.EventEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventEnable' not set")) + } + if b.AckedTransitions == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'ackedTransitions' not set")) + } + if b.NotifyType == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'notifyType' not set")) + } + if b.EventTimeStamps == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventTimeStamps' not set")) + } + if b.EventMessageTexts == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTexts' not set")) + } + if b.EventMessageTextsConfig == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventMessageTextsConfig' not set")) + } + if b.EventDetectionEnable == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventDetectionEnable' not set")) + } + if b.EventAlgorithmInhibitRef == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibitRef' not set")) + } + if b.EventAlgorithmInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'eventAlgorithmInhibit' not set")) + } + if b.ReliabilityEvaluationInhibit == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'reliabilityEvaluationInhibit' not set")) + } + if b.PropertyList == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'propertyList' not set")) + } + if b.Tags == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'tags' not set")) + } + if b.ProfileLocation == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileLocation' not set")) + } + if b.ProfileName == nil { + if b.err == nil { + b.err = new(utils.MultiError) + } + b.err.Append(errors.New("mandatory field 'profileName' not set")) + } + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._TrendLogMultiple.deepCopy(), nil +} + +func (b *_TrendLogMultipleBuilder) MustBuild() TrendLogMultiple { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_TrendLogMultipleBuilder) DeepCopy() any { + _copy := b.CreateTrendLogMultipleBuilder().(*_TrendLogMultipleBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateTrendLogMultipleBuilder creates a TrendLogMultipleBuilder +func (b *_TrendLogMultiple) CreateTrendLogMultipleBuilder() TrendLogMultipleBuilder { + if b == nil { + return NewTrendLogMultipleBuilder() + } + return &_TrendLogMultipleBuilder{_TrendLogMultiple: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for property fields. +/////////////////////// + +func (m *_TrendLogMultiple) GetObjectIdentifier() ReadableProperty { + return m.ObjectIdentifier +} + +func (m *_TrendLogMultiple) GetObjectName() ReadableProperty { + return m.ObjectName +} + +func (m *_TrendLogMultiple) GetObjectType() ReadableProperty { + return m.ObjectType +} + +func (m *_TrendLogMultiple) GetDescription() OptionalProperty { + return m.Description +} + +func (m *_TrendLogMultiple) GetStatusFlags() ReadableProperty { + return m.StatusFlags +} + +func (m *_TrendLogMultiple) GetEventState() ReadableProperty { + return m.EventState +} + +func (m *_TrendLogMultiple) GetReliability() OptionalProperty { + return m.Reliability +} + +func (m *_TrendLogMultiple) GetEnable() WritableProperty { + return m.Enable +} + +func (m *_TrendLogMultiple) GetStartTime() OptionalProperty { + return m.StartTime +} + +func (m *_TrendLogMultiple) GetStopTime() OptionalProperty { + return m.StopTime +} + +func (m *_TrendLogMultiple) GetLogDeviceObjectProperty() ReadableProperty { + return m.LogDeviceObjectProperty +} + +func (m *_TrendLogMultiple) GetLoggingType() ReadableProperty { + return m.LoggingType +} + +func (m *_TrendLogMultiple) GetLogInterval() ReadableProperty { + return m.LogInterval +} + +func (m *_TrendLogMultiple) GetAlignIntervals() OptionalProperty { + return m.AlignIntervals +} + +func (m *_TrendLogMultiple) GetIntervalOffset() OptionalProperty { + return m.IntervalOffset +} + +func (m *_TrendLogMultiple) GetTrigger() OptionalProperty { + return m.Trigger +} + +func (m *_TrendLogMultiple) GetStopWhenFull() ReadableProperty { + return m.StopWhenFull +} + +func (m *_TrendLogMultiple) GetBufferSize() ReadableProperty { + return m.BufferSize +} + +func (m *_TrendLogMultiple) GetLogBuffer() ReadableProperty { + return m.LogBuffer +} + +func (m *_TrendLogMultiple) GetRecordCount() WritableProperty { + return m.RecordCount +} + +func (m *_TrendLogMultiple) GetTotalRecordCount() ReadableProperty { + return m.TotalRecordCount +} + +func (m *_TrendLogMultiple) GetNotificationThreshold() OptionalProperty { + return m.NotificationThreshold +} + +func (m *_TrendLogMultiple) GetRecordsSinceNotification() OptionalProperty { + return m.RecordsSinceNotification +} + +func (m *_TrendLogMultiple) GetLastNotifyRecord() OptionalProperty { + return m.LastNotifyRecord +} + +func (m *_TrendLogMultiple) GetNotificationClass() OptionalProperty { + return m.NotificationClass +} + +func (m *_TrendLogMultiple) GetEventEnable() OptionalProperty { + return m.EventEnable +} + +func (m *_TrendLogMultiple) GetAckedTransitions() OptionalProperty { + return m.AckedTransitions +} + +func (m *_TrendLogMultiple) GetNotifyType() OptionalProperty { + return m.NotifyType +} + +func (m *_TrendLogMultiple) GetEventTimeStamps() OptionalProperty { + return m.EventTimeStamps +} + +func (m *_TrendLogMultiple) GetEventMessageTexts() OptionalProperty { + return m.EventMessageTexts +} + +func (m *_TrendLogMultiple) GetEventMessageTextsConfig() OptionalProperty { + return m.EventMessageTextsConfig +} + +func (m *_TrendLogMultiple) GetEventDetectionEnable() OptionalProperty { + return m.EventDetectionEnable +} + +func (m *_TrendLogMultiple) GetEventAlgorithmInhibitRef() OptionalProperty { + return m.EventAlgorithmInhibitRef +} + +func (m *_TrendLogMultiple) GetEventAlgorithmInhibit() OptionalProperty { + return m.EventAlgorithmInhibit +} + +func (m *_TrendLogMultiple) GetReliabilityEvaluationInhibit() OptionalProperty { + return m.ReliabilityEvaluationInhibit +} + +func (m *_TrendLogMultiple) GetPropertyList() ReadableProperty { + return m.PropertyList +} + +func (m *_TrendLogMultiple) GetTags() OptionalProperty { + return m.Tags +} + +func (m *_TrendLogMultiple) GetProfileLocation() OptionalProperty { + return m.ProfileLocation +} + +func (m *_TrendLogMultiple) GetProfileName() OptionalProperty { + return m.ProfileName +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastTrendLogMultiple(structType any) TrendLogMultiple { + if casted, ok := structType.(TrendLogMultiple); ok { + return casted + } + if casted, ok := structType.(*TrendLogMultiple); ok { + return *casted + } + return nil +} + +func (m *_TrendLogMultiple) GetTypeName() string { + return "TrendLogMultiple" +} + +func (m *_TrendLogMultiple) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + // Simple field (objectIdentifier) + lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx) + + // Simple field (objectName) + lengthInBits += m.ObjectName.GetLengthInBits(ctx) + + // Simple field (objectType) + lengthInBits += m.ObjectType.GetLengthInBits(ctx) + + // Simple field (description) + lengthInBits += m.Description.GetLengthInBits(ctx) + + // Simple field (statusFlags) + lengthInBits += m.StatusFlags.GetLengthInBits(ctx) + + // Simple field (eventState) + lengthInBits += m.EventState.GetLengthInBits(ctx) + + // Simple field (reliability) + lengthInBits += m.Reliability.GetLengthInBits(ctx) + + // Simple field (enable) + lengthInBits += m.Enable.GetLengthInBits(ctx) + + // Simple field (startTime) + lengthInBits += m.StartTime.GetLengthInBits(ctx) + + // Simple field (stopTime) + lengthInBits += m.StopTime.GetLengthInBits(ctx) + + // Simple field (logDeviceObjectProperty) + lengthInBits += m.LogDeviceObjectProperty.GetLengthInBits(ctx) + + // Simple field (loggingType) + lengthInBits += m.LoggingType.GetLengthInBits(ctx) + + // Simple field (logInterval) + lengthInBits += m.LogInterval.GetLengthInBits(ctx) + + // Simple field (alignIntervals) + lengthInBits += m.AlignIntervals.GetLengthInBits(ctx) + + // Simple field (intervalOffset) + lengthInBits += m.IntervalOffset.GetLengthInBits(ctx) + + // Simple field (trigger) + lengthInBits += m.Trigger.GetLengthInBits(ctx) + + // Simple field (stopWhenFull) + lengthInBits += m.StopWhenFull.GetLengthInBits(ctx) + + // Simple field (bufferSize) + lengthInBits += m.BufferSize.GetLengthInBits(ctx) + + // Simple field (logBuffer) + lengthInBits += m.LogBuffer.GetLengthInBits(ctx) + + // Simple field (recordCount) + lengthInBits += m.RecordCount.GetLengthInBits(ctx) + + // Simple field (totalRecordCount) + lengthInBits += m.TotalRecordCount.GetLengthInBits(ctx) + + // Simple field (notificationThreshold) + lengthInBits += m.NotificationThreshold.GetLengthInBits(ctx) + + // Simple field (recordsSinceNotification) + lengthInBits += m.RecordsSinceNotification.GetLengthInBits(ctx) + + // Simple field (lastNotifyRecord) + lengthInBits += m.LastNotifyRecord.GetLengthInBits(ctx) + + // Simple field (notificationClass) + lengthInBits += m.NotificationClass.GetLengthInBits(ctx) + + // Simple field (eventEnable) + lengthInBits += m.EventEnable.GetLengthInBits(ctx) + + // Simple field (ackedTransitions) + lengthInBits += m.AckedTransitions.GetLengthInBits(ctx) + + // Simple field (notifyType) + lengthInBits += m.NotifyType.GetLengthInBits(ctx) + + // Simple field (eventTimeStamps) + lengthInBits += m.EventTimeStamps.GetLengthInBits(ctx) + + // Simple field (eventMessageTexts) + lengthInBits += m.EventMessageTexts.GetLengthInBits(ctx) + + // Simple field (eventMessageTextsConfig) + lengthInBits += m.EventMessageTextsConfig.GetLengthInBits(ctx) + + // Simple field (eventDetectionEnable) + lengthInBits += m.EventDetectionEnable.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += m.EventAlgorithmInhibitRef.GetLengthInBits(ctx) + + // Simple field (eventAlgorithmInhibit) + lengthInBits += m.EventAlgorithmInhibit.GetLengthInBits(ctx) + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += m.ReliabilityEvaluationInhibit.GetLengthInBits(ctx) + + // Simple field (propertyList) + lengthInBits += m.PropertyList.GetLengthInBits(ctx) + + // Simple field (tags) + lengthInBits += m.Tags.GetLengthInBits(ctx) + + // Simple field (profileLocation) + lengthInBits += m.ProfileLocation.GetLengthInBits(ctx) + + // Simple field (profileName) + lengthInBits += m.ProfileName.GetLengthInBits(ctx) + + return lengthInBits +} + +func (m *_TrendLogMultiple) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func TrendLogMultipleParse(ctx context.Context, theBytes []byte) (TrendLogMultiple, error) { + return TrendLogMultipleParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes)) +} + +func TrendLogMultipleParseWithBufferProducer() func(ctx context.Context, readBuffer utils.ReadBuffer) (TrendLogMultiple, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (TrendLogMultiple, error) { + return TrendLogMultipleParseWithBuffer(ctx, readBuffer) + } +} + +func TrendLogMultipleParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer) (TrendLogMultiple, error) { + v, err := (&_TrendLogMultiple{}).parse(ctx, readBuffer) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_TrendLogMultiple) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__trendLogMultiple TrendLogMultiple, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("TrendLogMultiple"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for TrendLogMultiple") + } + currentPos := positionAware.GetPos() + _ = currentPos + + objectIdentifier, err := ReadSimpleField[ReadableProperty](ctx, "objectIdentifier", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field")) + } + m.ObjectIdentifier = objectIdentifier + + objectName, err := ReadSimpleField[ReadableProperty](ctx, "objectName", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectName' field")) + } + m.ObjectName = objectName + + objectType, err := ReadSimpleField[ReadableProperty](ctx, "objectType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetObjectType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectType' field")) + } + m.ObjectType = objectType + + description, err := ReadSimpleField[OptionalProperty](ctx, "description", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'description' field")) + } + m.Description = description + + statusFlags, err := ReadSimpleField[ReadableProperty](ctx, "statusFlags", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetStatusFlags")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'statusFlags' field")) + } + m.StatusFlags = statusFlags + + eventState, err := ReadSimpleField[ReadableProperty](ctx, "eventState", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetEventState")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventState' field")) + } + m.EventState = eventState + + reliability, err := ReadSimpleField[OptionalProperty](ctx, "reliability", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetReliability")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliability' field")) + } + m.Reliability = reliability + + enable, err := ReadSimpleField[WritableProperty](ctx, "enable", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'enable' field")) + } + m.Enable = enable + + startTime, err := ReadSimpleField[OptionalProperty](ctx, "startTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'startTime' field")) + } + m.StartTime = startTime + + stopTime, err := ReadSimpleField[OptionalProperty](ctx, "stopTime", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetDateTime")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stopTime' field")) + } + m.StopTime = stopTime + + logDeviceObjectProperty, err := ReadSimpleField[ReadableProperty](ctx, "logDeviceObjectProperty", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetDeviceObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'logDeviceObjectProperty' field")) + } + m.LogDeviceObjectProperty = logDeviceObjectProperty + + loggingType, err := ReadSimpleField[ReadableProperty](ctx, "loggingType", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLoggingType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'loggingType' field")) + } + m.LoggingType = loggingType + + logInterval, err := ReadSimpleField[ReadableProperty](ctx, "logInterval", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'logInterval' field")) + } + m.LogInterval = logInterval + + alignIntervals, err := ReadSimpleField[OptionalProperty](ctx, "alignIntervals", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'alignIntervals' field")) + } + m.AlignIntervals = alignIntervals + + intervalOffset, err := ReadSimpleField[OptionalProperty](ctx, "intervalOffset", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'intervalOffset' field")) + } + m.IntervalOffset = intervalOffset + + trigger, err := ReadSimpleField[OptionalProperty](ctx, "trigger", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'trigger' field")) + } + m.Trigger = trigger + + stopWhenFull, err := ReadSimpleField[ReadableProperty](ctx, "stopWhenFull", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'stopWhenFull' field")) + } + m.StopWhenFull = stopWhenFull + + bufferSize, err := ReadSimpleField[ReadableProperty](ctx, "bufferSize", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bufferSize' field")) + } + m.BufferSize = bufferSize + + logBuffer, err := ReadSimpleField[ReadableProperty](ctx, "logBuffer", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetLIST of BACnetLogMultipleRecord")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'logBuffer' field")) + } + m.LogBuffer = logBuffer + + recordCount, err := ReadSimpleField[WritableProperty](ctx, "recordCount", ReadComplex[WritableProperty](WritablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'recordCount' field")) + } + m.RecordCount = recordCount + + totalRecordCount, err := ReadSimpleField[ReadableProperty](ctx, "totalRecordCount", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'totalRecordCount' field")) + } + m.TotalRecordCount = totalRecordCount + + notificationThreshold, err := ReadSimpleField[OptionalProperty](ctx, "notificationThreshold", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationThreshold' field")) + } + m.NotificationThreshold = notificationThreshold + + recordsSinceNotification, err := ReadSimpleField[OptionalProperty](ctx, "recordsSinceNotification", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'recordsSinceNotification' field")) + } + m.RecordsSinceNotification = recordsSinceNotification + + lastNotifyRecord, err := ReadSimpleField[OptionalProperty](ctx, "lastNotifyRecord", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned32")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'lastNotifyRecord' field")) + } + m.LastNotifyRecord = lastNotifyRecord + + notificationClass, err := ReadSimpleField[OptionalProperty](ctx, "notificationClass", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("Unsigned")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notificationClass' field")) + } + m.NotificationClass = notificationClass + + eventEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventEnable' field")) + } + m.EventEnable = eventEnable + + ackedTransitions, err := ReadSimpleField[OptionalProperty](ctx, "ackedTransitions", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetEventTransitionBits")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'ackedTransitions' field")) + } + m.AckedTransitions = ackedTransitions + + notifyType, err := ReadSimpleField[OptionalProperty](ctx, "notifyType", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetNotifyType")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'notifyType' field")) + } + m.NotifyType = notifyType + + eventTimeStamps, err := ReadSimpleField[OptionalProperty](ctx, "eventTimeStamps", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of BACnetTimeStamp")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventTimeStamps' field")) + } + m.EventTimeStamps = eventTimeStamps + + eventMessageTexts, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTexts", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTexts' field")) + } + m.EventMessageTexts = eventMessageTexts + + eventMessageTextsConfig, err := ReadSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[3] of CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventMessageTextsConfig' field")) + } + m.EventMessageTextsConfig = eventMessageTextsConfig + + eventDetectionEnable, err := ReadSimpleField[OptionalProperty](ctx, "eventDetectionEnable", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventDetectionEnable' field")) + } + m.EventDetectionEnable = eventDetectionEnable + + eventAlgorithmInhibitRef, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetObjectPropertyReference")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibitRef' field")) + } + m.EventAlgorithmInhibitRef = eventAlgorithmInhibitRef + + eventAlgorithmInhibit, err := ReadSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'eventAlgorithmInhibit' field")) + } + m.EventAlgorithmInhibit = eventAlgorithmInhibit + + reliabilityEvaluationInhibit, err := ReadSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BOOLEAN")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reliabilityEvaluationInhibit' field")) + } + m.ReliabilityEvaluationInhibit = reliabilityEvaluationInhibit + + propertyList, err := ReadSimpleField[ReadableProperty](ctx, "propertyList", ReadComplex[ReadableProperty](ReadablePropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetPropertyIdentifier")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'propertyList' field")) + } + m.PropertyList = propertyList + + tags, err := ReadSimpleField[OptionalProperty](ctx, "tags", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("BACnetARRAY[N] of BACnetNameValue")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'tags' field")) + } + m.Tags = tags + + profileLocation, err := ReadSimpleField[OptionalProperty](ctx, "profileLocation", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileLocation' field")) + } + m.ProfileLocation = profileLocation + + profileName, err := ReadSimpleField[OptionalProperty](ctx, "profileName", ReadComplex[OptionalProperty](OptionalPropertyParseWithBufferProducer((string)("CharacterString")), readBuffer)) + if err != nil { + return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'profileName' field")) + } + m.ProfileName = profileName + + if closeErr := readBuffer.CloseContext("TrendLogMultiple"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for TrendLogMultiple") + } + + return m, nil +} + +func (m *_TrendLogMultiple) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_TrendLogMultiple) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("TrendLogMultiple"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for TrendLogMultiple") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectIdentifier", m.GetObjectIdentifier(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectIdentifier' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectName", m.GetObjectName(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectName' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "objectType", m.GetObjectType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'objectType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "description", m.GetDescription(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'description' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "statusFlags", m.GetStatusFlags(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'statusFlags' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "eventState", m.GetEventState(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventState' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliability", m.GetReliability(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliability' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "enable", m.GetEnable(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'enable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "startTime", m.GetStartTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'startTime' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "stopTime", m.GetStopTime(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stopTime' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "logDeviceObjectProperty", m.GetLogDeviceObjectProperty(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'logDeviceObjectProperty' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "loggingType", m.GetLoggingType(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'loggingType' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "logInterval", m.GetLogInterval(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'logInterval' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "alignIntervals", m.GetAlignIntervals(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'alignIntervals' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "intervalOffset", m.GetIntervalOffset(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'intervalOffset' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "trigger", m.GetTrigger(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'trigger' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "stopWhenFull", m.GetStopWhenFull(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'stopWhenFull' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "bufferSize", m.GetBufferSize(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'bufferSize' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "logBuffer", m.GetLogBuffer(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'logBuffer' field") + } + + if err := WriteSimpleField[WritableProperty](ctx, "recordCount", m.GetRecordCount(), WriteComplex[WritableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'recordCount' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "totalRecordCount", m.GetTotalRecordCount(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'totalRecordCount' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationThreshold", m.GetNotificationThreshold(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationThreshold' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "recordsSinceNotification", m.GetRecordsSinceNotification(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'recordsSinceNotification' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "lastNotifyRecord", m.GetLastNotifyRecord(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'lastNotifyRecord' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notificationClass", m.GetNotificationClass(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notificationClass' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventEnable", m.GetEventEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "ackedTransitions", m.GetAckedTransitions(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'ackedTransitions' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "notifyType", m.GetNotifyType(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'notifyType' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventTimeStamps", m.GetEventTimeStamps(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventTimeStamps' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTexts", m.GetEventMessageTexts(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTexts' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventMessageTextsConfig", m.GetEventMessageTextsConfig(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventMessageTextsConfig' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventDetectionEnable", m.GetEventDetectionEnable(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventDetectionEnable' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibitRef", m.GetEventAlgorithmInhibitRef(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibitRef' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "eventAlgorithmInhibit", m.GetEventAlgorithmInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'eventAlgorithmInhibit' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "reliabilityEvaluationInhibit", m.GetReliabilityEvaluationInhibit(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'reliabilityEvaluationInhibit' field") + } + + if err := WriteSimpleField[ReadableProperty](ctx, "propertyList", m.GetPropertyList(), WriteComplex[ReadableProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'propertyList' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "tags", m.GetTags(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'tags' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileLocation", m.GetProfileLocation(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileLocation' field") + } + + if err := WriteSimpleField[OptionalProperty](ctx, "profileName", m.GetProfileName(), WriteComplex[OptionalProperty](writeBuffer)); err != nil { + return errors.Wrap(err, "Error serializing 'profileName' field") + } + + if popErr := writeBuffer.PopContext("TrendLogMultiple"); popErr != nil { + return errors.Wrap(popErr, "Error popping for TrendLogMultiple") + } + return nil +} + +func (m *_TrendLogMultiple) IsTrendLogMultiple() {} + +func (m *_TrendLogMultiple) DeepCopy() any { + return m.deepCopy() +} + +func (m *_TrendLogMultiple) deepCopy() *_TrendLogMultiple { + if m == nil { + return nil + } + _TrendLogMultipleCopy := &_TrendLogMultiple{ + m.ObjectIdentifier.DeepCopy().(ReadableProperty), + m.ObjectName.DeepCopy().(ReadableProperty), + m.ObjectType.DeepCopy().(ReadableProperty), + m.Description.DeepCopy().(OptionalProperty), + m.StatusFlags.DeepCopy().(ReadableProperty), + m.EventState.DeepCopy().(ReadableProperty), + m.Reliability.DeepCopy().(OptionalProperty), + m.Enable.DeepCopy().(WritableProperty), + m.StartTime.DeepCopy().(OptionalProperty), + m.StopTime.DeepCopy().(OptionalProperty), + m.LogDeviceObjectProperty.DeepCopy().(ReadableProperty), + m.LoggingType.DeepCopy().(ReadableProperty), + m.LogInterval.DeepCopy().(ReadableProperty), + m.AlignIntervals.DeepCopy().(OptionalProperty), + m.IntervalOffset.DeepCopy().(OptionalProperty), + m.Trigger.DeepCopy().(OptionalProperty), + m.StopWhenFull.DeepCopy().(ReadableProperty), + m.BufferSize.DeepCopy().(ReadableProperty), + m.LogBuffer.DeepCopy().(ReadableProperty), + m.RecordCount.DeepCopy().(WritableProperty), + m.TotalRecordCount.DeepCopy().(ReadableProperty), + m.NotificationThreshold.DeepCopy().(OptionalProperty), + m.RecordsSinceNotification.DeepCopy().(OptionalProperty), + m.LastNotifyRecord.DeepCopy().(OptionalProperty), + m.NotificationClass.DeepCopy().(OptionalProperty), + m.EventEnable.DeepCopy().(OptionalProperty), + m.AckedTransitions.DeepCopy().(OptionalProperty), + m.NotifyType.DeepCopy().(OptionalProperty), + m.EventTimeStamps.DeepCopy().(OptionalProperty), + m.EventMessageTexts.DeepCopy().(OptionalProperty), + m.EventMessageTextsConfig.DeepCopy().(OptionalProperty), + m.EventDetectionEnable.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibitRef.DeepCopy().(OptionalProperty), + m.EventAlgorithmInhibit.DeepCopy().(OptionalProperty), + m.ReliabilityEvaluationInhibit.DeepCopy().(OptionalProperty), + m.PropertyList.DeepCopy().(ReadableProperty), + m.Tags.DeepCopy().(OptionalProperty), + m.ProfileLocation.DeepCopy().(OptionalProperty), + m.ProfileName.DeepCopy().(OptionalProperty), + } + return _TrendLogMultipleCopy +} + +func (m *_TrendLogMultiple) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4go/protocols/bacnetip/readwrite/model/WritableProperty.go b/plc4go/protocols/bacnetip/readwrite/model/WritableProperty.go new file mode 100644 index 00000000000..7480c6ab0bb --- /dev/null +++ b/plc4go/protocols/bacnetip/readwrite/model/WritableProperty.go @@ -0,0 +1,250 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package model + +import ( + "context" + "fmt" + + "github.com/pkg/errors" + "github.com/rs/zerolog" + + "github.com/apache/plc4x/plc4go/spi/utils" +) + +// Code generated by code-generation. DO NOT EDIT. + +// WritableProperty is the corresponding interface of WritableProperty +type WritableProperty interface { + fmt.Stringer + utils.LengthAware + utils.Serializable + utils.Copyable + // IsWritableProperty is a marker method to prevent unintentional type checks (interfaces of same signature) + IsWritableProperty() + // CreateBuilder creates a WritablePropertyBuilder + CreateWritablePropertyBuilder() WritablePropertyBuilder +} + +// _WritableProperty is the data-structure of this message +type _WritableProperty struct { + + // Arguments. + BacType string +} + +var _ WritableProperty = (*_WritableProperty)(nil) + +// NewWritableProperty factory function for _WritableProperty +func NewWritableProperty(bacType string) *_WritableProperty { + return &_WritableProperty{BacType: bacType} +} + +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Builder +/////////////////////// + +// WritablePropertyBuilder is a builder for WritableProperty +type WritablePropertyBuilder interface { + utils.Copyable + // WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls) + WithMandatoryFields() WritablePropertyBuilder + // Build builds the WritableProperty or returns an error if something is wrong + Build() (WritableProperty, error) + // MustBuild does the same as Build but panics on error + MustBuild() WritableProperty +} + +// NewWritablePropertyBuilder() creates a WritablePropertyBuilder +func NewWritablePropertyBuilder() WritablePropertyBuilder { + return &_WritablePropertyBuilder{_WritableProperty: new(_WritableProperty)} +} + +type _WritablePropertyBuilder struct { + *_WritableProperty + + err *utils.MultiError +} + +var _ (WritablePropertyBuilder) = (*_WritablePropertyBuilder)(nil) + +func (b *_WritablePropertyBuilder) WithMandatoryFields() WritablePropertyBuilder { + return b +} + +func (b *_WritablePropertyBuilder) Build() (WritableProperty, error) { + if b.err != nil { + return nil, errors.Wrap(b.err, "error occurred during build") + } + return b._WritableProperty.deepCopy(), nil +} + +func (b *_WritablePropertyBuilder) MustBuild() WritableProperty { + build, err := b.Build() + if err != nil { + panic(err) + } + return build +} + +func (b *_WritablePropertyBuilder) DeepCopy() any { + _copy := b.CreateWritablePropertyBuilder().(*_WritablePropertyBuilder) + if b.err != nil { + _copy.err = b.err.DeepCopy().(*utils.MultiError) + } + return _copy +} + +// CreateWritablePropertyBuilder creates a WritablePropertyBuilder +func (b *_WritableProperty) CreateWritablePropertyBuilder() WritablePropertyBuilder { + if b == nil { + return NewWritablePropertyBuilder() + } + return &_WritablePropertyBuilder{_WritableProperty: b.deepCopy()} +} + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + +// Deprecated: use the interface for direct cast +func CastWritableProperty(structType any) WritableProperty { + if casted, ok := structType.(WritableProperty); ok { + return casted + } + if casted, ok := structType.(*WritableProperty); ok { + return *casted + } + return nil +} + +func (m *_WritableProperty) GetTypeName() string { + return "WritableProperty" +} + +func (m *_WritableProperty) GetLengthInBits(ctx context.Context) uint16 { + lengthInBits := uint16(0) + + return lengthInBits +} + +func (m *_WritableProperty) GetLengthInBytes(ctx context.Context) uint16 { + return m.GetLengthInBits(ctx) / 8 +} + +func WritablePropertyParse(ctx context.Context, theBytes []byte, bacType string) (WritableProperty, error) { + return WritablePropertyParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes), bacType) +} + +func WritablePropertyParseWithBufferProducer(bacType string) func(ctx context.Context, readBuffer utils.ReadBuffer) (WritableProperty, error) { + return func(ctx context.Context, readBuffer utils.ReadBuffer) (WritableProperty, error) { + return WritablePropertyParseWithBuffer(ctx, readBuffer, bacType) + } +} + +func WritablePropertyParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, bacType string) (WritableProperty, error) { + v, err := (&_WritableProperty{BacType: bacType}).parse(ctx, readBuffer, bacType) + if err != nil { + return nil, err + } + return v, nil +} + +func (m *_WritableProperty) parse(ctx context.Context, readBuffer utils.ReadBuffer, bacType string) (__writableProperty WritableProperty, err error) { + positionAware := readBuffer + _ = positionAware + if pullErr := readBuffer.PullContext("WritableProperty"); pullErr != nil { + return nil, errors.Wrap(pullErr, "Error pulling for WritableProperty") + } + currentPos := positionAware.GetPos() + _ = currentPos + + if closeErr := readBuffer.CloseContext("WritableProperty"); closeErr != nil { + return nil, errors.Wrap(closeErr, "Error closing for WritableProperty") + } + + return m, nil +} + +func (m *_WritableProperty) Serialize() ([]byte, error) { + wb := utils.NewWriteBufferByteBased(utils.WithInitialSizeForByteBasedBuffer(int(m.GetLengthInBytes(context.Background())))) + if err := m.SerializeWithWriteBuffer(context.Background(), wb); err != nil { + return nil, err + } + return wb.GetBytes(), nil +} + +func (m *_WritableProperty) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error { + positionAware := writeBuffer + _ = positionAware + log := zerolog.Ctx(ctx) + _ = log + if pushErr := writeBuffer.PushContext("WritableProperty"); pushErr != nil { + return errors.Wrap(pushErr, "Error pushing for WritableProperty") + } + + if popErr := writeBuffer.PopContext("WritableProperty"); popErr != nil { + return errors.Wrap(popErr, "Error popping for WritableProperty") + } + return nil +} + +//// +// Arguments Getter + +func (m *_WritableProperty) GetBacType() string { + return m.BacType +} + +// +//// + +func (m *_WritableProperty) IsWritableProperty() {} + +func (m *_WritableProperty) DeepCopy() any { + return m.deepCopy() +} + +func (m *_WritableProperty) deepCopy() *_WritableProperty { + if m == nil { + return nil + } + _WritablePropertyCopy := &_WritableProperty{ + m.BacType, + } + return _WritablePropertyCopy +} + +func (m *_WritableProperty) String() string { + if m == nil { + return "" + } + wb := utils.NewWriteBufferBoxBased( + utils.WithWriteBufferBoxBasedMergeSingleBoxes(), + utils.WithWriteBufferBoxBasedOmitEmptyBoxes(), + utils.WithWriteBufferBoxBasedPrintPosLengthFooter(), + ) + if err := wb.WriteSerializable(context.Background(), m); err != nil { + return err.Error() + } + return wb.GetBox().String() +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessCredential.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessCredential.java new file mode 100644 index 00000000000..d42e51ed072 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessCredential.java @@ -0,0 +1,813 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AccessCredential implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final WritableProperty globalIdentifier; + protected final ReadableProperty statusFlags; + protected final ReadableProperty reliability; + protected final ReadableProperty credentialStatus; + protected final ReadableProperty reasonForDisable; + protected final ReadableProperty authenticationFactors; + protected final ReadableProperty activationTime; + protected final ReadableProperty expirationTime; + protected final ReadableProperty credentialDisable; + protected final OptionalProperty daysRemaining; + protected final OptionalProperty usesRemaining; + protected final OptionalProperty absenteeLimit; + protected final OptionalProperty belongsTo; + protected final ReadableProperty assignedAccessRights; + protected final OptionalProperty lastAccessPoint; + protected final OptionalProperty lastAccessEvent; + protected final OptionalProperty lastUseTime; + protected final OptionalProperty traceFlag; + protected final OptionalProperty threatAuthority; + protected final OptionalProperty extendedTimeEnable; + protected final OptionalProperty authorizationExemptions; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AccessCredential( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + WritableProperty globalIdentifier, + ReadableProperty statusFlags, + ReadableProperty reliability, + ReadableProperty credentialStatus, + ReadableProperty reasonForDisable, + ReadableProperty authenticationFactors, + ReadableProperty activationTime, + ReadableProperty expirationTime, + ReadableProperty credentialDisable, + OptionalProperty daysRemaining, + OptionalProperty usesRemaining, + OptionalProperty absenteeLimit, + OptionalProperty belongsTo, + ReadableProperty assignedAccessRights, + OptionalProperty lastAccessPoint, + OptionalProperty lastAccessEvent, + OptionalProperty lastUseTime, + OptionalProperty traceFlag, + OptionalProperty threatAuthority, + OptionalProperty extendedTimeEnable, + OptionalProperty authorizationExemptions, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.globalIdentifier = globalIdentifier; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.credentialStatus = credentialStatus; + this.reasonForDisable = reasonForDisable; + this.authenticationFactors = authenticationFactors; + this.activationTime = activationTime; + this.expirationTime = expirationTime; + this.credentialDisable = credentialDisable; + this.daysRemaining = daysRemaining; + this.usesRemaining = usesRemaining; + this.absenteeLimit = absenteeLimit; + this.belongsTo = belongsTo; + this.assignedAccessRights = assignedAccessRights; + this.lastAccessPoint = lastAccessPoint; + this.lastAccessEvent = lastAccessEvent; + this.lastUseTime = lastUseTime; + this.traceFlag = traceFlag; + this.threatAuthority = threatAuthority; + this.extendedTimeEnable = extendedTimeEnable; + this.authorizationExemptions = authorizationExemptions; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public WritableProperty getGlobalIdentifier() { + return globalIdentifier; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getCredentialStatus() { + return credentialStatus; + } + + public ReadableProperty getReasonForDisable() { + return reasonForDisable; + } + + public ReadableProperty getAuthenticationFactors() { + return authenticationFactors; + } + + public ReadableProperty getActivationTime() { + return activationTime; + } + + public ReadableProperty getExpirationTime() { + return expirationTime; + } + + public ReadableProperty getCredentialDisable() { + return credentialDisable; + } + + public OptionalProperty getDaysRemaining() { + return daysRemaining; + } + + public OptionalProperty getUsesRemaining() { + return usesRemaining; + } + + public OptionalProperty getAbsenteeLimit() { + return absenteeLimit; + } + + public OptionalProperty getBelongsTo() { + return belongsTo; + } + + public ReadableProperty getAssignedAccessRights() { + return assignedAccessRights; + } + + public OptionalProperty getLastAccessPoint() { + return lastAccessPoint; + } + + public OptionalProperty getLastAccessEvent() { + return lastAccessEvent; + } + + public OptionalProperty getLastUseTime() { + return lastUseTime; + } + + public OptionalProperty getTraceFlag() { + return traceFlag; + } + + public OptionalProperty getThreatAuthority() { + return threatAuthority; + } + + public OptionalProperty getExtendedTimeEnable() { + return extendedTimeEnable; + } + + public OptionalProperty getAuthorizationExemptions() { + return authorizationExemptions; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AccessCredential"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (globalIdentifier) + writeSimpleField("globalIdentifier", globalIdentifier, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (credentialStatus) + writeSimpleField("credentialStatus", credentialStatus, writeComplex(writeBuffer)); + + // Simple Field (reasonForDisable) + writeSimpleField("reasonForDisable", reasonForDisable, writeComplex(writeBuffer)); + + // Simple Field (authenticationFactors) + writeSimpleField("authenticationFactors", authenticationFactors, writeComplex(writeBuffer)); + + // Simple Field (activationTime) + writeSimpleField("activationTime", activationTime, writeComplex(writeBuffer)); + + // Simple Field (expirationTime) + writeSimpleField("expirationTime", expirationTime, writeComplex(writeBuffer)); + + // Simple Field (credentialDisable) + writeSimpleField("credentialDisable", credentialDisable, writeComplex(writeBuffer)); + + // Simple Field (daysRemaining) + writeSimpleField("daysRemaining", daysRemaining, writeComplex(writeBuffer)); + + // Simple Field (usesRemaining) + writeSimpleField("usesRemaining", usesRemaining, writeComplex(writeBuffer)); + + // Simple Field (absenteeLimit) + writeSimpleField("absenteeLimit", absenteeLimit, writeComplex(writeBuffer)); + + // Simple Field (belongsTo) + writeSimpleField("belongsTo", belongsTo, writeComplex(writeBuffer)); + + // Simple Field (assignedAccessRights) + writeSimpleField("assignedAccessRights", assignedAccessRights, writeComplex(writeBuffer)); + + // Simple Field (lastAccessPoint) + writeSimpleField("lastAccessPoint", lastAccessPoint, writeComplex(writeBuffer)); + + // Simple Field (lastAccessEvent) + writeSimpleField("lastAccessEvent", lastAccessEvent, writeComplex(writeBuffer)); + + // Simple Field (lastUseTime) + writeSimpleField("lastUseTime", lastUseTime, writeComplex(writeBuffer)); + + // Simple Field (traceFlag) + writeSimpleField("traceFlag", traceFlag, writeComplex(writeBuffer)); + + // Simple Field (threatAuthority) + writeSimpleField("threatAuthority", threatAuthority, writeComplex(writeBuffer)); + + // Simple Field (extendedTimeEnable) + writeSimpleField("extendedTimeEnable", extendedTimeEnable, writeComplex(writeBuffer)); + + // Simple Field (authorizationExemptions) + writeSimpleField("authorizationExemptions", authorizationExemptions, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AccessCredential"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AccessCredential _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (globalIdentifier) + lengthInBits += globalIdentifier.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (credentialStatus) + lengthInBits += credentialStatus.getLengthInBits(); + + // Simple field (reasonForDisable) + lengthInBits += reasonForDisable.getLengthInBits(); + + // Simple field (authenticationFactors) + lengthInBits += authenticationFactors.getLengthInBits(); + + // Simple field (activationTime) + lengthInBits += activationTime.getLengthInBits(); + + // Simple field (expirationTime) + lengthInBits += expirationTime.getLengthInBits(); + + // Simple field (credentialDisable) + lengthInBits += credentialDisable.getLengthInBits(); + + // Simple field (daysRemaining) + lengthInBits += daysRemaining.getLengthInBits(); + + // Simple field (usesRemaining) + lengthInBits += usesRemaining.getLengthInBits(); + + // Simple field (absenteeLimit) + lengthInBits += absenteeLimit.getLengthInBits(); + + // Simple field (belongsTo) + lengthInBits += belongsTo.getLengthInBits(); + + // Simple field (assignedAccessRights) + lengthInBits += assignedAccessRights.getLengthInBits(); + + // Simple field (lastAccessPoint) + lengthInBits += lastAccessPoint.getLengthInBits(); + + // Simple field (lastAccessEvent) + lengthInBits += lastAccessEvent.getLengthInBits(); + + // Simple field (lastUseTime) + lengthInBits += lastUseTime.getLengthInBits(); + + // Simple field (traceFlag) + lengthInBits += traceFlag.getLengthInBits(); + + // Simple field (threatAuthority) + lengthInBits += threatAuthority.getLengthInBits(); + + // Simple field (extendedTimeEnable) + lengthInBits += extendedTimeEnable.getLengthInBits(); + + // Simple field (authorizationExemptions) + lengthInBits += authorizationExemptions.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AccessCredential staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AccessCredential"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + WritableProperty globalIdentifier = + readSimpleField( + "globalIdentifier", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty credentialStatus = + readSimpleField( + "credentialStatus", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetBinaryPV")), + readBuffer)); + + ReadableProperty reasonForDisable = + readSimpleField( + "reasonForDisable", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetAccessCredentialDisableReason")), + readBuffer)); + + ReadableProperty authenticationFactors = + readSimpleField( + "authenticationFactors", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, + (String) ("BACnetARRAY[N] of BACnetCredentialAuthenticationFactor")), + readBuffer)); + + ReadableProperty activationTime = + readSimpleField( + "activationTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + ReadableProperty expirationTime = + readSimpleField( + "expirationTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + ReadableProperty credentialDisable = + readSimpleField( + "credentialDisable", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetAccessCredentialDisable")), + readBuffer)); + + OptionalProperty daysRemaining = + readSimpleField( + "daysRemaining", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty usesRemaining = + readSimpleField( + "usesRemaining", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty absenteeLimit = + readSimpleField( + "absenteeLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty belongsTo = + readSimpleField( + "belongsTo", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + ReadableProperty assignedAccessRights = + readSimpleField( + "assignedAccessRights", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetAssignedAccessRights")), + readBuffer)); + + OptionalProperty lastAccessPoint = + readSimpleField( + "lastAccessPoint", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty lastAccessEvent = + readSimpleField( + "lastAccessEvent", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetAccessEvent")), + readBuffer)); + + OptionalProperty lastUseTime = + readSimpleField( + "lastUseTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty traceFlag = + readSimpleField( + "traceFlag", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty threatAuthority = + readSimpleField( + "threatAuthority", + readComplex( + () -> + OptionalProperty.staticParse(readBuffer, (String) ("BACnetAccessThreatLevel")), + readBuffer)); + + OptionalProperty extendedTimeEnable = + readSimpleField( + "extendedTimeEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty authorizationExemptions = + readSimpleField( + "authorizationExemptions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetAuthorizationExemption")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AccessCredential"); + // Create the instance + AccessCredential _accessCredential; + _accessCredential = + new AccessCredential( + objectIdentifier, + objectName, + objectType, + description, + globalIdentifier, + statusFlags, + reliability, + credentialStatus, + reasonForDisable, + authenticationFactors, + activationTime, + expirationTime, + credentialDisable, + daysRemaining, + usesRemaining, + absenteeLimit, + belongsTo, + assignedAccessRights, + lastAccessPoint, + lastAccessEvent, + lastUseTime, + traceFlag, + threatAuthority, + extendedTimeEnable, + authorizationExemptions, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _accessCredential; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AccessCredential)) { + return false; + } + AccessCredential that = (AccessCredential) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getGlobalIdentifier() == that.getGlobalIdentifier()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getCredentialStatus() == that.getCredentialStatus()) + && (getReasonForDisable() == that.getReasonForDisable()) + && (getAuthenticationFactors() == that.getAuthenticationFactors()) + && (getActivationTime() == that.getActivationTime()) + && (getExpirationTime() == that.getExpirationTime()) + && (getCredentialDisable() == that.getCredentialDisable()) + && (getDaysRemaining() == that.getDaysRemaining()) + && (getUsesRemaining() == that.getUsesRemaining()) + && (getAbsenteeLimit() == that.getAbsenteeLimit()) + && (getBelongsTo() == that.getBelongsTo()) + && (getAssignedAccessRights() == that.getAssignedAccessRights()) + && (getLastAccessPoint() == that.getLastAccessPoint()) + && (getLastAccessEvent() == that.getLastAccessEvent()) + && (getLastUseTime() == that.getLastUseTime()) + && (getTraceFlag() == that.getTraceFlag()) + && (getThreatAuthority() == that.getThreatAuthority()) + && (getExtendedTimeEnable() == that.getExtendedTimeEnable()) + && (getAuthorizationExemptions() == that.getAuthorizationExemptions()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getGlobalIdentifier(), + getStatusFlags(), + getReliability(), + getCredentialStatus(), + getReasonForDisable(), + getAuthenticationFactors(), + getActivationTime(), + getExpirationTime(), + getCredentialDisable(), + getDaysRemaining(), + getUsesRemaining(), + getAbsenteeLimit(), + getBelongsTo(), + getAssignedAccessRights(), + getLastAccessPoint(), + getLastAccessEvent(), + getLastUseTime(), + getTraceFlag(), + getThreatAuthority(), + getExtendedTimeEnable(), + getAuthorizationExemptions(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessDoor.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessDoor.java new file mode 100644 index 00000000000..1c74ef6029d --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessDoor.java @@ -0,0 +1,1186 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AccessDoor implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final WritableProperty presentValue; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final ReadableProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty priorityArray; + protected final ReadableProperty relinquishDefault; + protected final OptionalProperty doorStatus; + protected final OptionalProperty lockStatus; + protected final OptionalProperty securedStatus; + protected final OptionalProperty doorMembers; + protected final ReadableProperty doorPulseTime; + protected final ReadableProperty doorExtendedPulseTime; + protected final OptionalProperty doorUnlockDelayTime; + protected final ReadableProperty doorOpenTooLongTime; + protected final OptionalProperty doorAlarmState; + protected final OptionalProperty maskedAlarmValues; + protected final OptionalProperty maintenanceRequired; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty alarmValues; + protected final OptionalProperty faultValues; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final ReadableProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AccessDoor( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + WritableProperty presentValue, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty eventState, + ReadableProperty reliability, + ReadableProperty outOfService, + ReadableProperty priorityArray, + ReadableProperty relinquishDefault, + OptionalProperty doorStatus, + OptionalProperty lockStatus, + OptionalProperty securedStatus, + OptionalProperty doorMembers, + ReadableProperty doorPulseTime, + ReadableProperty doorExtendedPulseTime, + OptionalProperty doorUnlockDelayTime, + ReadableProperty doorOpenTooLongTime, + OptionalProperty doorAlarmState, + OptionalProperty maskedAlarmValues, + OptionalProperty maintenanceRequired, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty alarmValues, + OptionalProperty faultValues, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + ReadableProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.doorStatus = doorStatus; + this.lockStatus = lockStatus; + this.securedStatus = securedStatus; + this.doorMembers = doorMembers; + this.doorPulseTime = doorPulseTime; + this.doorExtendedPulseTime = doorExtendedPulseTime; + this.doorUnlockDelayTime = doorUnlockDelayTime; + this.doorOpenTooLongTime = doorOpenTooLongTime; + this.doorAlarmState = doorAlarmState; + this.maskedAlarmValues = maskedAlarmValues; + this.maintenanceRequired = maintenanceRequired; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.alarmValues = alarmValues; + this.faultValues = faultValues; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public WritableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getPriorityArray() { + return priorityArray; + } + + public ReadableProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getDoorStatus() { + return doorStatus; + } + + public OptionalProperty getLockStatus() { + return lockStatus; + } + + public OptionalProperty getSecuredStatus() { + return securedStatus; + } + + public OptionalProperty getDoorMembers() { + return doorMembers; + } + + public ReadableProperty getDoorPulseTime() { + return doorPulseTime; + } + + public ReadableProperty getDoorExtendedPulseTime() { + return doorExtendedPulseTime; + } + + public OptionalProperty getDoorUnlockDelayTime() { + return doorUnlockDelayTime; + } + + public ReadableProperty getDoorOpenTooLongTime() { + return doorOpenTooLongTime; + } + + public OptionalProperty getDoorAlarmState() { + return doorAlarmState; + } + + public OptionalProperty getMaskedAlarmValues() { + return maskedAlarmValues; + } + + public OptionalProperty getMaintenanceRequired() { + return maintenanceRequired; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getAlarmValues() { + return alarmValues; + } + + public OptionalProperty getFaultValues() { + return faultValues; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public ReadableProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AccessDoor"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (doorStatus) + writeSimpleField("doorStatus", doorStatus, writeComplex(writeBuffer)); + + // Simple Field (lockStatus) + writeSimpleField("lockStatus", lockStatus, writeComplex(writeBuffer)); + + // Simple Field (securedStatus) + writeSimpleField("securedStatus", securedStatus, writeComplex(writeBuffer)); + + // Simple Field (doorMembers) + writeSimpleField("doorMembers", doorMembers, writeComplex(writeBuffer)); + + // Simple Field (doorPulseTime) + writeSimpleField("doorPulseTime", doorPulseTime, writeComplex(writeBuffer)); + + // Simple Field (doorExtendedPulseTime) + writeSimpleField("doorExtendedPulseTime", doorExtendedPulseTime, writeComplex(writeBuffer)); + + // Simple Field (doorUnlockDelayTime) + writeSimpleField("doorUnlockDelayTime", doorUnlockDelayTime, writeComplex(writeBuffer)); + + // Simple Field (doorOpenTooLongTime) + writeSimpleField("doorOpenTooLongTime", doorOpenTooLongTime, writeComplex(writeBuffer)); + + // Simple Field (doorAlarmState) + writeSimpleField("doorAlarmState", doorAlarmState, writeComplex(writeBuffer)); + + // Simple Field (maskedAlarmValues) + writeSimpleField("maskedAlarmValues", maskedAlarmValues, writeComplex(writeBuffer)); + + // Simple Field (maintenanceRequired) + writeSimpleField("maintenanceRequired", maintenanceRequired, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (alarmValues) + writeSimpleField("alarmValues", alarmValues, writeComplex(writeBuffer)); + + // Simple Field (faultValues) + writeSimpleField("faultValues", faultValues, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AccessDoor"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AccessDoor _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (doorStatus) + lengthInBits += doorStatus.getLengthInBits(); + + // Simple field (lockStatus) + lengthInBits += lockStatus.getLengthInBits(); + + // Simple field (securedStatus) + lengthInBits += securedStatus.getLengthInBits(); + + // Simple field (doorMembers) + lengthInBits += doorMembers.getLengthInBits(); + + // Simple field (doorPulseTime) + lengthInBits += doorPulseTime.getLengthInBits(); + + // Simple field (doorExtendedPulseTime) + lengthInBits += doorExtendedPulseTime.getLengthInBits(); + + // Simple field (doorUnlockDelayTime) + lengthInBits += doorUnlockDelayTime.getLengthInBits(); + + // Simple field (doorOpenTooLongTime) + lengthInBits += doorOpenTooLongTime.getLengthInBits(); + + // Simple field (doorAlarmState) + lengthInBits += doorAlarmState.getLengthInBits(); + + // Simple field (maskedAlarmValues) + lengthInBits += maskedAlarmValues.getLengthInBits(); + + // Simple field (maintenanceRequired) + lengthInBits += maintenanceRequired.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (alarmValues) + lengthInBits += alarmValues.getLengthInBits(); + + // Simple field (faultValues) + lengthInBits += faultValues.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AccessDoor staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AccessDoor"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + WritableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetDoorValue")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + ReadableProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDoorValue")), + readBuffer)); + + OptionalProperty doorStatus = + readSimpleField( + "doorStatus", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDoorStatus")), + readBuffer)); + + OptionalProperty lockStatus = + readSimpleField( + "lockStatus", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLockStatus")), + readBuffer)); + + OptionalProperty securedStatus = + readSimpleField( + "securedStatus", + readComplex( + () -> + OptionalProperty.staticParse(readBuffer, (String) ("BACnetDoorSecuredStatus")), + readBuffer)); + + OptionalProperty doorMembers = + readSimpleField( + "doorMembers", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetDeviceObjectReference")), + readBuffer)); + + ReadableProperty doorPulseTime = + readSimpleField( + "doorPulseTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty doorExtendedPulseTime = + readSimpleField( + "doorExtendedPulseTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty doorUnlockDelayTime = + readSimpleField( + "doorUnlockDelayTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty doorOpenTooLongTime = + readSimpleField( + "doorOpenTooLongTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty doorAlarmState = + readSimpleField( + "doorAlarmState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDoorAlarmState")), + readBuffer)); + + OptionalProperty maskedAlarmValues = + readSimpleField( + "maskedAlarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDoorAlarmState")), + readBuffer)); + + OptionalProperty maintenanceRequired = + readSimpleField( + "maintenanceRequired", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetMaintenance")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alarmValues = + readSimpleField( + "alarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDoorAlarmState")), + readBuffer)); + + OptionalProperty faultValues = + readSimpleField( + "faultValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDoorAlarmState")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + ReadableProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AccessDoor"); + // Create the instance + AccessDoor _accessDoor; + _accessDoor = + new AccessDoor( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + statusFlags, + eventState, + reliability, + outOfService, + priorityArray, + relinquishDefault, + doorStatus, + lockStatus, + securedStatus, + doorMembers, + doorPulseTime, + doorExtendedPulseTime, + doorUnlockDelayTime, + doorOpenTooLongTime, + doorAlarmState, + maskedAlarmValues, + maintenanceRequired, + timeDelay, + notificationClass, + alarmValues, + faultValues, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _accessDoor; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AccessDoor)) { + return false; + } + AccessDoor that = (AccessDoor) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getDoorStatus() == that.getDoorStatus()) + && (getLockStatus() == that.getLockStatus()) + && (getSecuredStatus() == that.getSecuredStatus()) + && (getDoorMembers() == that.getDoorMembers()) + && (getDoorPulseTime() == that.getDoorPulseTime()) + && (getDoorExtendedPulseTime() == that.getDoorExtendedPulseTime()) + && (getDoorUnlockDelayTime() == that.getDoorUnlockDelayTime()) + && (getDoorOpenTooLongTime() == that.getDoorOpenTooLongTime()) + && (getDoorAlarmState() == that.getDoorAlarmState()) + && (getMaskedAlarmValues() == that.getMaskedAlarmValues()) + && (getMaintenanceRequired() == that.getMaintenanceRequired()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getAlarmValues() == that.getAlarmValues()) + && (getFaultValues() == that.getFaultValues()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPriorityArray(), + getRelinquishDefault(), + getDoorStatus(), + getLockStatus(), + getSecuredStatus(), + getDoorMembers(), + getDoorPulseTime(), + getDoorExtendedPulseTime(), + getDoorUnlockDelayTime(), + getDoorOpenTooLongTime(), + getDoorAlarmState(), + getMaskedAlarmValues(), + getMaintenanceRequired(), + getTimeDelay(), + getNotificationClass(), + getAlarmValues(), + getFaultValues(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessPoint.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessPoint.java new file mode 100644 index 00000000000..fb9e4c07d8e --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessPoint.java @@ -0,0 +1,1384 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AccessPoint implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final ReadableProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty authenticationStatus; + protected final ReadableProperty activeAuthenticationPolicy; + protected final ReadableProperty numberOfAuthenticationPolicies; + protected final OptionalProperty authenticationPolicyList; + protected final OptionalProperty authenticationPolicyNames; + protected final ReadableProperty authorizationMode; + protected final OptionalProperty verificationTime; + protected final OptionalProperty lockout; + protected final OptionalProperty lockoutRelinquishTime; + protected final OptionalProperty failedAttempts; + protected final OptionalProperty failedAttemptEvents; + protected final OptionalProperty maxFailedAttempts; + protected final OptionalProperty failedAttemptsTime; + protected final OptionalProperty threatLevel; + protected final OptionalProperty occupancyUpperLimitEnforced; + protected final OptionalProperty occupancyLowerLimitEnforced; + protected final OptionalProperty occupancyCountAdjust; + protected final OptionalProperty accompanimentTime; + protected final ReadableProperty accessEvent; + protected final ReadableProperty accessEventTag; + protected final ReadableProperty accessEventTime; + protected final ReadableProperty accessEventCredential; + protected final OptionalProperty accessEventAuthenticationFactor; + protected final ReadableProperty accessDoors; + protected final ReadableProperty priorityForWriting; + protected final OptionalProperty musterPoint; + protected final OptionalProperty zoneTo; + protected final OptionalProperty zoneFrom; + protected final OptionalProperty notificationClass; + protected final OptionalProperty transactionNotificationClass; + protected final OptionalProperty accessAlarmEvents; + protected final OptionalProperty accessTransactionEvents; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AccessPoint( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty eventState, + ReadableProperty reliability, + ReadableProperty outOfService, + ReadableProperty authenticationStatus, + ReadableProperty activeAuthenticationPolicy, + ReadableProperty numberOfAuthenticationPolicies, + OptionalProperty authenticationPolicyList, + OptionalProperty authenticationPolicyNames, + ReadableProperty authorizationMode, + OptionalProperty verificationTime, + OptionalProperty lockout, + OptionalProperty lockoutRelinquishTime, + OptionalProperty failedAttempts, + OptionalProperty failedAttemptEvents, + OptionalProperty maxFailedAttempts, + OptionalProperty failedAttemptsTime, + OptionalProperty threatLevel, + OptionalProperty occupancyUpperLimitEnforced, + OptionalProperty occupancyLowerLimitEnforced, + OptionalProperty occupancyCountAdjust, + OptionalProperty accompanimentTime, + ReadableProperty accessEvent, + ReadableProperty accessEventTag, + ReadableProperty accessEventTime, + ReadableProperty accessEventCredential, + OptionalProperty accessEventAuthenticationFactor, + ReadableProperty accessDoors, + ReadableProperty priorityForWriting, + OptionalProperty musterPoint, + OptionalProperty zoneTo, + OptionalProperty zoneFrom, + OptionalProperty notificationClass, + OptionalProperty transactionNotificationClass, + OptionalProperty accessAlarmEvents, + OptionalProperty accessTransactionEvents, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.authenticationStatus = authenticationStatus; + this.activeAuthenticationPolicy = activeAuthenticationPolicy; + this.numberOfAuthenticationPolicies = numberOfAuthenticationPolicies; + this.authenticationPolicyList = authenticationPolicyList; + this.authenticationPolicyNames = authenticationPolicyNames; + this.authorizationMode = authorizationMode; + this.verificationTime = verificationTime; + this.lockout = lockout; + this.lockoutRelinquishTime = lockoutRelinquishTime; + this.failedAttempts = failedAttempts; + this.failedAttemptEvents = failedAttemptEvents; + this.maxFailedAttempts = maxFailedAttempts; + this.failedAttemptsTime = failedAttemptsTime; + this.threatLevel = threatLevel; + this.occupancyUpperLimitEnforced = occupancyUpperLimitEnforced; + this.occupancyLowerLimitEnforced = occupancyLowerLimitEnforced; + this.occupancyCountAdjust = occupancyCountAdjust; + this.accompanimentTime = accompanimentTime; + this.accessEvent = accessEvent; + this.accessEventTag = accessEventTag; + this.accessEventTime = accessEventTime; + this.accessEventCredential = accessEventCredential; + this.accessEventAuthenticationFactor = accessEventAuthenticationFactor; + this.accessDoors = accessDoors; + this.priorityForWriting = priorityForWriting; + this.musterPoint = musterPoint; + this.zoneTo = zoneTo; + this.zoneFrom = zoneFrom; + this.notificationClass = notificationClass; + this.transactionNotificationClass = transactionNotificationClass; + this.accessAlarmEvents = accessAlarmEvents; + this.accessTransactionEvents = accessTransactionEvents; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getAuthenticationStatus() { + return authenticationStatus; + } + + public ReadableProperty getActiveAuthenticationPolicy() { + return activeAuthenticationPolicy; + } + + public ReadableProperty getNumberOfAuthenticationPolicies() { + return numberOfAuthenticationPolicies; + } + + public OptionalProperty getAuthenticationPolicyList() { + return authenticationPolicyList; + } + + public OptionalProperty getAuthenticationPolicyNames() { + return authenticationPolicyNames; + } + + public ReadableProperty getAuthorizationMode() { + return authorizationMode; + } + + public OptionalProperty getVerificationTime() { + return verificationTime; + } + + public OptionalProperty getLockout() { + return lockout; + } + + public OptionalProperty getLockoutRelinquishTime() { + return lockoutRelinquishTime; + } + + public OptionalProperty getFailedAttempts() { + return failedAttempts; + } + + public OptionalProperty getFailedAttemptEvents() { + return failedAttemptEvents; + } + + public OptionalProperty getMaxFailedAttempts() { + return maxFailedAttempts; + } + + public OptionalProperty getFailedAttemptsTime() { + return failedAttemptsTime; + } + + public OptionalProperty getThreatLevel() { + return threatLevel; + } + + public OptionalProperty getOccupancyUpperLimitEnforced() { + return occupancyUpperLimitEnforced; + } + + public OptionalProperty getOccupancyLowerLimitEnforced() { + return occupancyLowerLimitEnforced; + } + + public OptionalProperty getOccupancyCountAdjust() { + return occupancyCountAdjust; + } + + public OptionalProperty getAccompanimentTime() { + return accompanimentTime; + } + + public ReadableProperty getAccessEvent() { + return accessEvent; + } + + public ReadableProperty getAccessEventTag() { + return accessEventTag; + } + + public ReadableProperty getAccessEventTime() { + return accessEventTime; + } + + public ReadableProperty getAccessEventCredential() { + return accessEventCredential; + } + + public OptionalProperty getAccessEventAuthenticationFactor() { + return accessEventAuthenticationFactor; + } + + public ReadableProperty getAccessDoors() { + return accessDoors; + } + + public ReadableProperty getPriorityForWriting() { + return priorityForWriting; + } + + public OptionalProperty getMusterPoint() { + return musterPoint; + } + + public OptionalProperty getZoneTo() { + return zoneTo; + } + + public OptionalProperty getZoneFrom() { + return zoneFrom; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getTransactionNotificationClass() { + return transactionNotificationClass; + } + + public OptionalProperty getAccessAlarmEvents() { + return accessAlarmEvents; + } + + public OptionalProperty getAccessTransactionEvents() { + return accessTransactionEvents; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AccessPoint"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (authenticationStatus) + writeSimpleField("authenticationStatus", authenticationStatus, writeComplex(writeBuffer)); + + // Simple Field (activeAuthenticationPolicy) + writeSimpleField( + "activeAuthenticationPolicy", activeAuthenticationPolicy, writeComplex(writeBuffer)); + + // Simple Field (numberOfAuthenticationPolicies) + writeSimpleField( + "numberOfAuthenticationPolicies", + numberOfAuthenticationPolicies, + writeComplex(writeBuffer)); + + // Simple Field (authenticationPolicyList) + writeSimpleField( + "authenticationPolicyList", authenticationPolicyList, writeComplex(writeBuffer)); + + // Simple Field (authenticationPolicyNames) + writeSimpleField( + "authenticationPolicyNames", authenticationPolicyNames, writeComplex(writeBuffer)); + + // Simple Field (authorizationMode) + writeSimpleField("authorizationMode", authorizationMode, writeComplex(writeBuffer)); + + // Simple Field (verificationTime) + writeSimpleField("verificationTime", verificationTime, writeComplex(writeBuffer)); + + // Simple Field (lockout) + writeSimpleField("lockout", lockout, writeComplex(writeBuffer)); + + // Simple Field (lockoutRelinquishTime) + writeSimpleField("lockoutRelinquishTime", lockoutRelinquishTime, writeComplex(writeBuffer)); + + // Simple Field (failedAttempts) + writeSimpleField("failedAttempts", failedAttempts, writeComplex(writeBuffer)); + + // Simple Field (failedAttemptEvents) + writeSimpleField("failedAttemptEvents", failedAttemptEvents, writeComplex(writeBuffer)); + + // Simple Field (maxFailedAttempts) + writeSimpleField("maxFailedAttempts", maxFailedAttempts, writeComplex(writeBuffer)); + + // Simple Field (failedAttemptsTime) + writeSimpleField("failedAttemptsTime", failedAttemptsTime, writeComplex(writeBuffer)); + + // Simple Field (threatLevel) + writeSimpleField("threatLevel", threatLevel, writeComplex(writeBuffer)); + + // Simple Field (occupancyUpperLimitEnforced) + writeSimpleField( + "occupancyUpperLimitEnforced", occupancyUpperLimitEnforced, writeComplex(writeBuffer)); + + // Simple Field (occupancyLowerLimitEnforced) + writeSimpleField( + "occupancyLowerLimitEnforced", occupancyLowerLimitEnforced, writeComplex(writeBuffer)); + + // Simple Field (occupancyCountAdjust) + writeSimpleField("occupancyCountAdjust", occupancyCountAdjust, writeComplex(writeBuffer)); + + // Simple Field (accompanimentTime) + writeSimpleField("accompanimentTime", accompanimentTime, writeComplex(writeBuffer)); + + // Simple Field (accessEvent) + writeSimpleField("accessEvent", accessEvent, writeComplex(writeBuffer)); + + // Simple Field (accessEventTag) + writeSimpleField("accessEventTag", accessEventTag, writeComplex(writeBuffer)); + + // Simple Field (accessEventTime) + writeSimpleField("accessEventTime", accessEventTime, writeComplex(writeBuffer)); + + // Simple Field (accessEventCredential) + writeSimpleField("accessEventCredential", accessEventCredential, writeComplex(writeBuffer)); + + // Simple Field (accessEventAuthenticationFactor) + writeSimpleField( + "accessEventAuthenticationFactor", + accessEventAuthenticationFactor, + writeComplex(writeBuffer)); + + // Simple Field (accessDoors) + writeSimpleField("accessDoors", accessDoors, writeComplex(writeBuffer)); + + // Simple Field (priorityForWriting) + writeSimpleField("priorityForWriting", priorityForWriting, writeComplex(writeBuffer)); + + // Simple Field (musterPoint) + writeSimpleField("musterPoint", musterPoint, writeComplex(writeBuffer)); + + // Simple Field (zoneTo) + writeSimpleField("zoneTo", zoneTo, writeComplex(writeBuffer)); + + // Simple Field (zoneFrom) + writeSimpleField("zoneFrom", zoneFrom, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (transactionNotificationClass) + writeSimpleField( + "transactionNotificationClass", transactionNotificationClass, writeComplex(writeBuffer)); + + // Simple Field (accessAlarmEvents) + writeSimpleField("accessAlarmEvents", accessAlarmEvents, writeComplex(writeBuffer)); + + // Simple Field (accessTransactionEvents) + writeSimpleField("accessTransactionEvents", accessTransactionEvents, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AccessPoint"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AccessPoint _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (authenticationStatus) + lengthInBits += authenticationStatus.getLengthInBits(); + + // Simple field (activeAuthenticationPolicy) + lengthInBits += activeAuthenticationPolicy.getLengthInBits(); + + // Simple field (numberOfAuthenticationPolicies) + lengthInBits += numberOfAuthenticationPolicies.getLengthInBits(); + + // Simple field (authenticationPolicyList) + lengthInBits += authenticationPolicyList.getLengthInBits(); + + // Simple field (authenticationPolicyNames) + lengthInBits += authenticationPolicyNames.getLengthInBits(); + + // Simple field (authorizationMode) + lengthInBits += authorizationMode.getLengthInBits(); + + // Simple field (verificationTime) + lengthInBits += verificationTime.getLengthInBits(); + + // Simple field (lockout) + lengthInBits += lockout.getLengthInBits(); + + // Simple field (lockoutRelinquishTime) + lengthInBits += lockoutRelinquishTime.getLengthInBits(); + + // Simple field (failedAttempts) + lengthInBits += failedAttempts.getLengthInBits(); + + // Simple field (failedAttemptEvents) + lengthInBits += failedAttemptEvents.getLengthInBits(); + + // Simple field (maxFailedAttempts) + lengthInBits += maxFailedAttempts.getLengthInBits(); + + // Simple field (failedAttemptsTime) + lengthInBits += failedAttemptsTime.getLengthInBits(); + + // Simple field (threatLevel) + lengthInBits += threatLevel.getLengthInBits(); + + // Simple field (occupancyUpperLimitEnforced) + lengthInBits += occupancyUpperLimitEnforced.getLengthInBits(); + + // Simple field (occupancyLowerLimitEnforced) + lengthInBits += occupancyLowerLimitEnforced.getLengthInBits(); + + // Simple field (occupancyCountAdjust) + lengthInBits += occupancyCountAdjust.getLengthInBits(); + + // Simple field (accompanimentTime) + lengthInBits += accompanimentTime.getLengthInBits(); + + // Simple field (accessEvent) + lengthInBits += accessEvent.getLengthInBits(); + + // Simple field (accessEventTag) + lengthInBits += accessEventTag.getLengthInBits(); + + // Simple field (accessEventTime) + lengthInBits += accessEventTime.getLengthInBits(); + + // Simple field (accessEventCredential) + lengthInBits += accessEventCredential.getLengthInBits(); + + // Simple field (accessEventAuthenticationFactor) + lengthInBits += accessEventAuthenticationFactor.getLengthInBits(); + + // Simple field (accessDoors) + lengthInBits += accessDoors.getLengthInBits(); + + // Simple field (priorityForWriting) + lengthInBits += priorityForWriting.getLengthInBits(); + + // Simple field (musterPoint) + lengthInBits += musterPoint.getLengthInBits(); + + // Simple field (zoneTo) + lengthInBits += zoneTo.getLengthInBits(); + + // Simple field (zoneFrom) + lengthInBits += zoneFrom.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (transactionNotificationClass) + lengthInBits += transactionNotificationClass.getLengthInBits(); + + // Simple field (accessAlarmEvents) + lengthInBits += accessAlarmEvents.getLengthInBits(); + + // Simple field (accessTransactionEvents) + lengthInBits += accessTransactionEvents.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AccessPoint staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AccessPoint"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty authenticationStatus = + readSimpleField( + "authenticationStatus", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetAuthenticationStatus")), + readBuffer)); + + ReadableProperty activeAuthenticationPolicy = + readSimpleField( + "activeAuthenticationPolicy", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty numberOfAuthenticationPolicies = + readSimpleField( + "numberOfAuthenticationPolicies", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty authenticationPolicyList = + readSimpleField( + "authenticationPolicyList", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetAuthenticationPolicy")), + readBuffer)); + + OptionalProperty authenticationPolicyNames = + readSimpleField( + "authenticationPolicyNames", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + ReadableProperty authorizationMode = + readSimpleField( + "authorizationMode", + readComplex( + () -> + ReadableProperty.staticParse(readBuffer, (String) ("BACnetAuthorizationMode")), + readBuffer)); + + OptionalProperty verificationTime = + readSimpleField( + "verificationTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty lockout = + readSimpleField( + "lockout", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty lockoutRelinquishTime = + readSimpleField( + "lockoutRelinquishTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty failedAttempts = + readSimpleField( + "failedAttempts", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty failedAttemptEvents = + readSimpleField( + "failedAttemptEvents", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetAccessEvent")), + readBuffer)); + + OptionalProperty maxFailedAttempts = + readSimpleField( + "maxFailedAttempts", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty failedAttemptsTime = + readSimpleField( + "failedAttemptsTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty threatLevel = + readSimpleField( + "threatLevel", + readComplex( + () -> + OptionalProperty.staticParse(readBuffer, (String) ("BACnetAccessThreatLevel")), + readBuffer)); + + OptionalProperty occupancyUpperLimitEnforced = + readSimpleField( + "occupancyUpperLimitEnforced", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty occupancyLowerLimitEnforced = + readSimpleField( + "occupancyLowerLimitEnforced", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty occupancyCountAdjust = + readSimpleField( + "occupancyCountAdjust", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty accompanimentTime = + readSimpleField( + "accompanimentTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty accessEvent = + readSimpleField( + "accessEvent", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetAccessEvent")), + readBuffer)); + + ReadableProperty accessEventTag = + readSimpleField( + "accessEventTag", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty accessEventTime = + readSimpleField( + "accessEventTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + ReadableProperty accessEventCredential = + readSimpleField( + "accessEventCredential", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty accessEventAuthenticationFactor = + readSimpleField( + "accessEventAuthenticationFactor", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetAuthenticationFactor")), + readBuffer)); + + ReadableProperty accessDoors = + readSimpleField( + "accessDoors", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetDeviceObjectReference")), + readBuffer)); + + ReadableProperty priorityForWriting = + readSimpleField( + "priorityForWriting", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned(1..16)")), + readBuffer)); + + OptionalProperty musterPoint = + readSimpleField( + "musterPoint", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty zoneTo = + readSimpleField( + "zoneTo", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty zoneFrom = + readSimpleField( + "zoneFrom", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty transactionNotificationClass = + readSimpleField( + "transactionNotificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty accessAlarmEvents = + readSimpleField( + "accessAlarmEvents", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetAccessEvent")), + readBuffer)); + + OptionalProperty accessTransactionEvents = + readSimpleField( + "accessTransactionEvents", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetAccessEvent")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AccessPoint"); + // Create the instance + AccessPoint _accessPoint; + _accessPoint = + new AccessPoint( + objectIdentifier, + objectName, + objectType, + description, + statusFlags, + eventState, + reliability, + outOfService, + authenticationStatus, + activeAuthenticationPolicy, + numberOfAuthenticationPolicies, + authenticationPolicyList, + authenticationPolicyNames, + authorizationMode, + verificationTime, + lockout, + lockoutRelinquishTime, + failedAttempts, + failedAttemptEvents, + maxFailedAttempts, + failedAttemptsTime, + threatLevel, + occupancyUpperLimitEnforced, + occupancyLowerLimitEnforced, + occupancyCountAdjust, + accompanimentTime, + accessEvent, + accessEventTag, + accessEventTime, + accessEventCredential, + accessEventAuthenticationFactor, + accessDoors, + priorityForWriting, + musterPoint, + zoneTo, + zoneFrom, + notificationClass, + transactionNotificationClass, + accessAlarmEvents, + accessTransactionEvents, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _accessPoint; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AccessPoint)) { + return false; + } + AccessPoint that = (AccessPoint) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getAuthenticationStatus() == that.getAuthenticationStatus()) + && (getActiveAuthenticationPolicy() == that.getActiveAuthenticationPolicy()) + && (getNumberOfAuthenticationPolicies() == that.getNumberOfAuthenticationPolicies()) + && (getAuthenticationPolicyList() == that.getAuthenticationPolicyList()) + && (getAuthenticationPolicyNames() == that.getAuthenticationPolicyNames()) + && (getAuthorizationMode() == that.getAuthorizationMode()) + && (getVerificationTime() == that.getVerificationTime()) + && (getLockout() == that.getLockout()) + && (getLockoutRelinquishTime() == that.getLockoutRelinquishTime()) + && (getFailedAttempts() == that.getFailedAttempts()) + && (getFailedAttemptEvents() == that.getFailedAttemptEvents()) + && (getMaxFailedAttempts() == that.getMaxFailedAttempts()) + && (getFailedAttemptsTime() == that.getFailedAttemptsTime()) + && (getThreatLevel() == that.getThreatLevel()) + && (getOccupancyUpperLimitEnforced() == that.getOccupancyUpperLimitEnforced()) + && (getOccupancyLowerLimitEnforced() == that.getOccupancyLowerLimitEnforced()) + && (getOccupancyCountAdjust() == that.getOccupancyCountAdjust()) + && (getAccompanimentTime() == that.getAccompanimentTime()) + && (getAccessEvent() == that.getAccessEvent()) + && (getAccessEventTag() == that.getAccessEventTag()) + && (getAccessEventTime() == that.getAccessEventTime()) + && (getAccessEventCredential() == that.getAccessEventCredential()) + && (getAccessEventAuthenticationFactor() == that.getAccessEventAuthenticationFactor()) + && (getAccessDoors() == that.getAccessDoors()) + && (getPriorityForWriting() == that.getPriorityForWriting()) + && (getMusterPoint() == that.getMusterPoint()) + && (getZoneTo() == that.getZoneTo()) + && (getZoneFrom() == that.getZoneFrom()) + && (getNotificationClass() == that.getNotificationClass()) + && (getTransactionNotificationClass() == that.getTransactionNotificationClass()) + && (getAccessAlarmEvents() == that.getAccessAlarmEvents()) + && (getAccessTransactionEvents() == that.getAccessTransactionEvents()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getAuthenticationStatus(), + getActiveAuthenticationPolicy(), + getNumberOfAuthenticationPolicies(), + getAuthenticationPolicyList(), + getAuthenticationPolicyNames(), + getAuthorizationMode(), + getVerificationTime(), + getLockout(), + getLockoutRelinquishTime(), + getFailedAttempts(), + getFailedAttemptEvents(), + getMaxFailedAttempts(), + getFailedAttemptsTime(), + getThreatLevel(), + getOccupancyUpperLimitEnforced(), + getOccupancyLowerLimitEnforced(), + getOccupancyCountAdjust(), + getAccompanimentTime(), + getAccessEvent(), + getAccessEventTag(), + getAccessEventTime(), + getAccessEventCredential(), + getAccessEventAuthenticationFactor(), + getAccessDoors(), + getPriorityForWriting(), + getMusterPoint(), + getZoneTo(), + getZoneFrom(), + getNotificationClass(), + getTransactionNotificationClass(), + getAccessAlarmEvents(), + getAccessTransactionEvents(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessRights.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessRights.java new file mode 100644 index 00000000000..3aa8efbe633 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessRights.java @@ -0,0 +1,485 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AccessRights implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final WritableProperty globalIdentifier; + protected final ReadableProperty statusFlags; + protected final ReadableProperty reliability; + protected final ReadableProperty enable; + protected final ReadableProperty negativeAccessRules; + protected final ReadableProperty positiveAccessRules; + protected final OptionalProperty accompaniment; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AccessRights( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + WritableProperty globalIdentifier, + ReadableProperty statusFlags, + ReadableProperty reliability, + ReadableProperty enable, + ReadableProperty negativeAccessRules, + ReadableProperty positiveAccessRules, + OptionalProperty accompaniment, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.globalIdentifier = globalIdentifier; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.enable = enable; + this.negativeAccessRules = negativeAccessRules; + this.positiveAccessRules = positiveAccessRules; + this.accompaniment = accompaniment; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public WritableProperty getGlobalIdentifier() { + return globalIdentifier; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getEnable() { + return enable; + } + + public ReadableProperty getNegativeAccessRules() { + return negativeAccessRules; + } + + public ReadableProperty getPositiveAccessRules() { + return positiveAccessRules; + } + + public OptionalProperty getAccompaniment() { + return accompaniment; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AccessRights"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (globalIdentifier) + writeSimpleField("globalIdentifier", globalIdentifier, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (enable) + writeSimpleField("enable", enable, writeComplex(writeBuffer)); + + // Simple Field (negativeAccessRules) + writeSimpleField("negativeAccessRules", negativeAccessRules, writeComplex(writeBuffer)); + + // Simple Field (positiveAccessRules) + writeSimpleField("positiveAccessRules", positiveAccessRules, writeComplex(writeBuffer)); + + // Simple Field (accompaniment) + writeSimpleField("accompaniment", accompaniment, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AccessRights"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AccessRights _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (globalIdentifier) + lengthInBits += globalIdentifier.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (enable) + lengthInBits += enable.getLengthInBits(); + + // Simple field (negativeAccessRules) + lengthInBits += negativeAccessRules.getLengthInBits(); + + // Simple field (positiveAccessRules) + lengthInBits += positiveAccessRules.getLengthInBits(); + + // Simple field (accompaniment) + lengthInBits += accompaniment.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AccessRights staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AccessRights"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + WritableProperty globalIdentifier = + readSimpleField( + "globalIdentifier", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty enable = + readSimpleField( + "enable", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty negativeAccessRules = + readSimpleField( + "negativeAccessRules", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetAccessRule")), + readBuffer)); + + ReadableProperty positiveAccessRules = + readSimpleField( + "positiveAccessRules", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetAccessRule")), + readBuffer)); + + OptionalProperty accompaniment = + readSimpleField( + "accompaniment", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AccessRights"); + // Create the instance + AccessRights _accessRights; + _accessRights = + new AccessRights( + objectIdentifier, + objectName, + objectType, + description, + globalIdentifier, + statusFlags, + reliability, + enable, + negativeAccessRules, + positiveAccessRules, + accompaniment, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _accessRights; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AccessRights)) { + return false; + } + AccessRights that = (AccessRights) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getGlobalIdentifier() == that.getGlobalIdentifier()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getEnable() == that.getEnable()) + && (getNegativeAccessRules() == that.getNegativeAccessRules()) + && (getPositiveAccessRules() == that.getPositiveAccessRules()) + && (getAccompaniment() == that.getAccompaniment()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getGlobalIdentifier(), + getStatusFlags(), + getReliability(), + getEnable(), + getNegativeAccessRules(), + getPositiveAccessRules(), + getAccompaniment(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessUser.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessUser.java new file mode 100644 index 00000000000..3994927e5eb --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessUser.java @@ -0,0 +1,556 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AccessUser implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final WritableProperty globalIdentifier; + protected final ReadableProperty statusFlags; + protected final ReadableProperty reliability; + protected final ReadableProperty userType; + protected final OptionalProperty userName; + protected final OptionalProperty userExternalIdentifier; + protected final OptionalProperty userInformationReference; + protected final OptionalProperty members; + protected final OptionalProperty memberOf; + protected final ReadableProperty credentials; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AccessUser( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + WritableProperty globalIdentifier, + ReadableProperty statusFlags, + ReadableProperty reliability, + ReadableProperty userType, + OptionalProperty userName, + OptionalProperty userExternalIdentifier, + OptionalProperty userInformationReference, + OptionalProperty members, + OptionalProperty memberOf, + ReadableProperty credentials, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.globalIdentifier = globalIdentifier; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.userType = userType; + this.userName = userName; + this.userExternalIdentifier = userExternalIdentifier; + this.userInformationReference = userInformationReference; + this.members = members; + this.memberOf = memberOf; + this.credentials = credentials; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public WritableProperty getGlobalIdentifier() { + return globalIdentifier; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getUserType() { + return userType; + } + + public OptionalProperty getUserName() { + return userName; + } + + public OptionalProperty getUserExternalIdentifier() { + return userExternalIdentifier; + } + + public OptionalProperty getUserInformationReference() { + return userInformationReference; + } + + public OptionalProperty getMembers() { + return members; + } + + public OptionalProperty getMemberOf() { + return memberOf; + } + + public ReadableProperty getCredentials() { + return credentials; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AccessUser"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (globalIdentifier) + writeSimpleField("globalIdentifier", globalIdentifier, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (userType) + writeSimpleField("userType", userType, writeComplex(writeBuffer)); + + // Simple Field (userName) + writeSimpleField("userName", userName, writeComplex(writeBuffer)); + + // Simple Field (userExternalIdentifier) + writeSimpleField("userExternalIdentifier", userExternalIdentifier, writeComplex(writeBuffer)); + + // Simple Field (userInformationReference) + writeSimpleField( + "userInformationReference", userInformationReference, writeComplex(writeBuffer)); + + // Simple Field (members) + writeSimpleField("members", members, writeComplex(writeBuffer)); + + // Simple Field (memberOf) + writeSimpleField("memberOf", memberOf, writeComplex(writeBuffer)); + + // Simple Field (credentials) + writeSimpleField("credentials", credentials, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AccessUser"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AccessUser _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (globalIdentifier) + lengthInBits += globalIdentifier.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (userType) + lengthInBits += userType.getLengthInBits(); + + // Simple field (userName) + lengthInBits += userName.getLengthInBits(); + + // Simple field (userExternalIdentifier) + lengthInBits += userExternalIdentifier.getLengthInBits(); + + // Simple field (userInformationReference) + lengthInBits += userInformationReference.getLengthInBits(); + + // Simple field (members) + lengthInBits += members.getLengthInBits(); + + // Simple field (memberOf) + lengthInBits += memberOf.getLengthInBits(); + + // Simple field (credentials) + lengthInBits += credentials.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AccessUser staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AccessUser"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + WritableProperty globalIdentifier = + readSimpleField( + "globalIdentifier", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty userType = + readSimpleField( + "userType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetAccessUserType")), + readBuffer)); + + OptionalProperty userName = + readSimpleField( + "userName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty userExternalIdentifier = + readSimpleField( + "userExternalIdentifier", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty userInformationReference = + readSimpleField( + "userInformationReference", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty members = + readSimpleField( + "members", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty memberOf = + readSimpleField( + "memberOf", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectReference")), + readBuffer)); + + ReadableProperty credentials = + readSimpleField( + "credentials", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AccessUser"); + // Create the instance + AccessUser _accessUser; + _accessUser = + new AccessUser( + objectIdentifier, + objectName, + objectType, + description, + globalIdentifier, + statusFlags, + reliability, + userType, + userName, + userExternalIdentifier, + userInformationReference, + members, + memberOf, + credentials, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _accessUser; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AccessUser)) { + return false; + } + AccessUser that = (AccessUser) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getGlobalIdentifier() == that.getGlobalIdentifier()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getUserType() == that.getUserType()) + && (getUserName() == that.getUserName()) + && (getUserExternalIdentifier() == that.getUserExternalIdentifier()) + && (getUserInformationReference() == that.getUserInformationReference()) + && (getMembers() == that.getMembers()) + && (getMemberOf() == that.getMemberOf()) + && (getCredentials() == that.getCredentials()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getGlobalIdentifier(), + getStatusFlags(), + getReliability(), + getUserType(), + getUserName(), + getUserExternalIdentifier(), + getUserInformationReference(), + getMembers(), + getMemberOf(), + getCredentials(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessZone.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessZone.java new file mode 100644 index 00000000000..a4fa9ad1bc4 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AccessZone.java @@ -0,0 +1,1095 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AccessZone implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final WritableProperty globalIdentifier; + protected final ReadableProperty occupancyState; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final ReadableProperty reliability; + protected final ReadableProperty outOfService; + protected final OptionalProperty occupancyCount; + protected final OptionalProperty occupancyCountEnable; + protected final OptionalProperty adjustValue; + protected final OptionalProperty occupancyUpperLimit; + protected final OptionalProperty occupancyLowerLimit; + protected final OptionalProperty credentialsInZone; + protected final OptionalProperty lastCredentialAdded; + protected final OptionalProperty lastCredentialAddedTime; + protected final OptionalProperty lastCredentialRemoved; + protected final OptionalProperty lastCredentialRemovedTime; + protected final OptionalProperty passbackMode; + protected final OptionalProperty passbackTimeout; + protected final ReadableProperty entryPoints; + protected final ReadableProperty exitPoints; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty alarmValues; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AccessZone( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + WritableProperty globalIdentifier, + ReadableProperty occupancyState, + ReadableProperty statusFlags, + ReadableProperty eventState, + ReadableProperty reliability, + ReadableProperty outOfService, + OptionalProperty occupancyCount, + OptionalProperty occupancyCountEnable, + OptionalProperty adjustValue, + OptionalProperty occupancyUpperLimit, + OptionalProperty occupancyLowerLimit, + OptionalProperty credentialsInZone, + OptionalProperty lastCredentialAdded, + OptionalProperty lastCredentialAddedTime, + OptionalProperty lastCredentialRemoved, + OptionalProperty lastCredentialRemovedTime, + OptionalProperty passbackMode, + OptionalProperty passbackTimeout, + ReadableProperty entryPoints, + ReadableProperty exitPoints, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty alarmValues, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.globalIdentifier = globalIdentifier; + this.occupancyState = occupancyState; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.occupancyCount = occupancyCount; + this.occupancyCountEnable = occupancyCountEnable; + this.adjustValue = adjustValue; + this.occupancyUpperLimit = occupancyUpperLimit; + this.occupancyLowerLimit = occupancyLowerLimit; + this.credentialsInZone = credentialsInZone; + this.lastCredentialAdded = lastCredentialAdded; + this.lastCredentialAddedTime = lastCredentialAddedTime; + this.lastCredentialRemoved = lastCredentialRemoved; + this.lastCredentialRemovedTime = lastCredentialRemovedTime; + this.passbackMode = passbackMode; + this.passbackTimeout = passbackTimeout; + this.entryPoints = entryPoints; + this.exitPoints = exitPoints; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.alarmValues = alarmValues; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public WritableProperty getGlobalIdentifier() { + return globalIdentifier; + } + + public ReadableProperty getOccupancyState() { + return occupancyState; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getOccupancyCount() { + return occupancyCount; + } + + public OptionalProperty getOccupancyCountEnable() { + return occupancyCountEnable; + } + + public OptionalProperty getAdjustValue() { + return adjustValue; + } + + public OptionalProperty getOccupancyUpperLimit() { + return occupancyUpperLimit; + } + + public OptionalProperty getOccupancyLowerLimit() { + return occupancyLowerLimit; + } + + public OptionalProperty getCredentialsInZone() { + return credentialsInZone; + } + + public OptionalProperty getLastCredentialAdded() { + return lastCredentialAdded; + } + + public OptionalProperty getLastCredentialAddedTime() { + return lastCredentialAddedTime; + } + + public OptionalProperty getLastCredentialRemoved() { + return lastCredentialRemoved; + } + + public OptionalProperty getLastCredentialRemovedTime() { + return lastCredentialRemovedTime; + } + + public OptionalProperty getPassbackMode() { + return passbackMode; + } + + public OptionalProperty getPassbackTimeout() { + return passbackTimeout; + } + + public ReadableProperty getEntryPoints() { + return entryPoints; + } + + public ReadableProperty getExitPoints() { + return exitPoints; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getAlarmValues() { + return alarmValues; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AccessZone"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (globalIdentifier) + writeSimpleField("globalIdentifier", globalIdentifier, writeComplex(writeBuffer)); + + // Simple Field (occupancyState) + writeSimpleField("occupancyState", occupancyState, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (occupancyCount) + writeSimpleField("occupancyCount", occupancyCount, writeComplex(writeBuffer)); + + // Simple Field (occupancyCountEnable) + writeSimpleField("occupancyCountEnable", occupancyCountEnable, writeComplex(writeBuffer)); + + // Simple Field (adjustValue) + writeSimpleField("adjustValue", adjustValue, writeComplex(writeBuffer)); + + // Simple Field (occupancyUpperLimit) + writeSimpleField("occupancyUpperLimit", occupancyUpperLimit, writeComplex(writeBuffer)); + + // Simple Field (occupancyLowerLimit) + writeSimpleField("occupancyLowerLimit", occupancyLowerLimit, writeComplex(writeBuffer)); + + // Simple Field (credentialsInZone) + writeSimpleField("credentialsInZone", credentialsInZone, writeComplex(writeBuffer)); + + // Simple Field (lastCredentialAdded) + writeSimpleField("lastCredentialAdded", lastCredentialAdded, writeComplex(writeBuffer)); + + // Simple Field (lastCredentialAddedTime) + writeSimpleField("lastCredentialAddedTime", lastCredentialAddedTime, writeComplex(writeBuffer)); + + // Simple Field (lastCredentialRemoved) + writeSimpleField("lastCredentialRemoved", lastCredentialRemoved, writeComplex(writeBuffer)); + + // Simple Field (lastCredentialRemovedTime) + writeSimpleField( + "lastCredentialRemovedTime", lastCredentialRemovedTime, writeComplex(writeBuffer)); + + // Simple Field (passbackMode) + writeSimpleField("passbackMode", passbackMode, writeComplex(writeBuffer)); + + // Simple Field (passbackTimeout) + writeSimpleField("passbackTimeout", passbackTimeout, writeComplex(writeBuffer)); + + // Simple Field (entryPoints) + writeSimpleField("entryPoints", entryPoints, writeComplex(writeBuffer)); + + // Simple Field (exitPoints) + writeSimpleField("exitPoints", exitPoints, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (alarmValues) + writeSimpleField("alarmValues", alarmValues, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AccessZone"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AccessZone _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (globalIdentifier) + lengthInBits += globalIdentifier.getLengthInBits(); + + // Simple field (occupancyState) + lengthInBits += occupancyState.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (occupancyCount) + lengthInBits += occupancyCount.getLengthInBits(); + + // Simple field (occupancyCountEnable) + lengthInBits += occupancyCountEnable.getLengthInBits(); + + // Simple field (adjustValue) + lengthInBits += adjustValue.getLengthInBits(); + + // Simple field (occupancyUpperLimit) + lengthInBits += occupancyUpperLimit.getLengthInBits(); + + // Simple field (occupancyLowerLimit) + lengthInBits += occupancyLowerLimit.getLengthInBits(); + + // Simple field (credentialsInZone) + lengthInBits += credentialsInZone.getLengthInBits(); + + // Simple field (lastCredentialAdded) + lengthInBits += lastCredentialAdded.getLengthInBits(); + + // Simple field (lastCredentialAddedTime) + lengthInBits += lastCredentialAddedTime.getLengthInBits(); + + // Simple field (lastCredentialRemoved) + lengthInBits += lastCredentialRemoved.getLengthInBits(); + + // Simple field (lastCredentialRemovedTime) + lengthInBits += lastCredentialRemovedTime.getLengthInBits(); + + // Simple field (passbackMode) + lengthInBits += passbackMode.getLengthInBits(); + + // Simple field (passbackTimeout) + lengthInBits += passbackTimeout.getLengthInBits(); + + // Simple field (entryPoints) + lengthInBits += entryPoints.getLengthInBits(); + + // Simple field (exitPoints) + lengthInBits += exitPoints.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (alarmValues) + lengthInBits += alarmValues.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AccessZone staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AccessZone"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + WritableProperty globalIdentifier = + readSimpleField( + "globalIdentifier", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty occupancyState = + readSimpleField( + "occupancyState", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetAccessZoneOccupancyState")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty occupancyCount = + readSimpleField( + "occupancyCount", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty occupancyCountEnable = + readSimpleField( + "occupancyCountEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty adjustValue = + readSimpleField( + "adjustValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty occupancyUpperLimit = + readSimpleField( + "occupancyUpperLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty occupancyLowerLimit = + readSimpleField( + "occupancyLowerLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty credentialsInZone = + readSimpleField( + "credentialsInZone", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty lastCredentialAdded = + readSimpleField( + "lastCredentialAdded", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty lastCredentialAddedTime = + readSimpleField( + "lastCredentialAddedTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty lastCredentialRemoved = + readSimpleField( + "lastCredentialRemoved", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty lastCredentialRemovedTime = + readSimpleField( + "lastCredentialRemovedTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty passbackMode = + readSimpleField( + "passbackMode", + readComplex( + () -> + OptionalProperty.staticParse(readBuffer, (String) ("BACnetAccessPassbackMode")), + readBuffer)); + + OptionalProperty passbackTimeout = + readSimpleField( + "passbackTimeout", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty entryPoints = + readSimpleField( + "entryPoints", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectReference")), + readBuffer)); + + ReadableProperty exitPoints = + readSimpleField( + "exitPoints", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alarmValues = + readSimpleField( + "alarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetAccessZoneOccupancyState")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AccessZone"); + // Create the instance + AccessZone _accessZone; + _accessZone = + new AccessZone( + objectIdentifier, + objectName, + objectType, + description, + globalIdentifier, + occupancyState, + statusFlags, + eventState, + reliability, + outOfService, + occupancyCount, + occupancyCountEnable, + adjustValue, + occupancyUpperLimit, + occupancyLowerLimit, + credentialsInZone, + lastCredentialAdded, + lastCredentialAddedTime, + lastCredentialRemoved, + lastCredentialRemovedTime, + passbackMode, + passbackTimeout, + entryPoints, + exitPoints, + timeDelay, + notificationClass, + alarmValues, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _accessZone; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AccessZone)) { + return false; + } + AccessZone that = (AccessZone) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getGlobalIdentifier() == that.getGlobalIdentifier()) + && (getOccupancyState() == that.getOccupancyState()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getOccupancyCount() == that.getOccupancyCount()) + && (getOccupancyCountEnable() == that.getOccupancyCountEnable()) + && (getAdjustValue() == that.getAdjustValue()) + && (getOccupancyUpperLimit() == that.getOccupancyUpperLimit()) + && (getOccupancyLowerLimit() == that.getOccupancyLowerLimit()) + && (getCredentialsInZone() == that.getCredentialsInZone()) + && (getLastCredentialAdded() == that.getLastCredentialAdded()) + && (getLastCredentialAddedTime() == that.getLastCredentialAddedTime()) + && (getLastCredentialRemoved() == that.getLastCredentialRemoved()) + && (getLastCredentialRemovedTime() == that.getLastCredentialRemovedTime()) + && (getPassbackMode() == that.getPassbackMode()) + && (getPassbackTimeout() == that.getPassbackTimeout()) + && (getEntryPoints() == that.getEntryPoints()) + && (getExitPoints() == that.getExitPoints()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getAlarmValues() == that.getAlarmValues()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getGlobalIdentifier(), + getOccupancyState(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getOccupancyCount(), + getOccupancyCountEnable(), + getAdjustValue(), + getOccupancyUpperLimit(), + getOccupancyLowerLimit(), + getCredentialsInZone(), + getLastCredentialAdded(), + getLastCredentialAddedTime(), + getLastCredentialRemoved(), + getLastCredentialRemovedTime(), + getPassbackMode(), + getPassbackTimeout(), + getEntryPoints(), + getExitPoints(), + getTimeDelay(), + getNotificationClass(), + getAlarmValues(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Accumulator.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Accumulator.java new file mode 100644 index 00000000000..1fcde8235ea --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Accumulator.java @@ -0,0 +1,1099 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Accumulator implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final OptionalProperty deviceType; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty scale; + protected final ReadableProperty units; + protected final OptionalProperty prescale; + protected final ReadableProperty maxPresValue; + protected final OptionalProperty valueChangeTime; + protected final OptionalProperty valueBeforeChange; + protected final OptionalProperty valueSet; + protected final OptionalProperty loggingRecord; + protected final OptionalProperty loggingObject; + protected final OptionalProperty pulseRate; + protected final OptionalProperty highLimit; + protected final OptionalProperty lowLimit; + protected final OptionalProperty limitMonitoringInterval; + protected final OptionalProperty notificationClass; + protected final OptionalProperty timeDelay; + protected final OptionalProperty limitEnable; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty faultHighLimit; + protected final OptionalProperty faultLowLimit; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Accumulator( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + OptionalProperty deviceType, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty scale, + ReadableProperty units, + OptionalProperty prescale, + ReadableProperty maxPresValue, + OptionalProperty valueChangeTime, + OptionalProperty valueBeforeChange, + OptionalProperty valueSet, + OptionalProperty loggingRecord, + OptionalProperty loggingObject, + OptionalProperty pulseRate, + OptionalProperty highLimit, + OptionalProperty lowLimit, + OptionalProperty limitMonitoringInterval, + OptionalProperty notificationClass, + OptionalProperty timeDelay, + OptionalProperty limitEnable, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty faultHighLimit, + OptionalProperty faultLowLimit, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.deviceType = deviceType; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.scale = scale; + this.units = units; + this.prescale = prescale; + this.maxPresValue = maxPresValue; + this.valueChangeTime = valueChangeTime; + this.valueBeforeChange = valueBeforeChange; + this.valueSet = valueSet; + this.loggingRecord = loggingRecord; + this.loggingObject = loggingObject; + this.pulseRate = pulseRate; + this.highLimit = highLimit; + this.lowLimit = lowLimit; + this.limitMonitoringInterval = limitMonitoringInterval; + this.notificationClass = notificationClass; + this.timeDelay = timeDelay; + this.limitEnable = limitEnable; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.faultHighLimit = faultHighLimit; + this.faultLowLimit = faultLowLimit; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getDeviceType() { + return deviceType; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getScale() { + return scale; + } + + public ReadableProperty getUnits() { + return units; + } + + public OptionalProperty getPrescale() { + return prescale; + } + + public ReadableProperty getMaxPresValue() { + return maxPresValue; + } + + public OptionalProperty getValueChangeTime() { + return valueChangeTime; + } + + public OptionalProperty getValueBeforeChange() { + return valueBeforeChange; + } + + public OptionalProperty getValueSet() { + return valueSet; + } + + public OptionalProperty getLoggingRecord() { + return loggingRecord; + } + + public OptionalProperty getLoggingObject() { + return loggingObject; + } + + public OptionalProperty getPulseRate() { + return pulseRate; + } + + public OptionalProperty getHighLimit() { + return highLimit; + } + + public OptionalProperty getLowLimit() { + return lowLimit; + } + + public OptionalProperty getLimitMonitoringInterval() { + return limitMonitoringInterval; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getLimitEnable() { + return limitEnable; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getFaultHighLimit() { + return faultHighLimit; + } + + public OptionalProperty getFaultLowLimit() { + return faultLowLimit; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Accumulator"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (deviceType) + writeSimpleField("deviceType", deviceType, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (scale) + writeSimpleField("scale", scale, writeComplex(writeBuffer)); + + // Simple Field (units) + writeSimpleField("units", units, writeComplex(writeBuffer)); + + // Simple Field (prescale) + writeSimpleField("prescale", prescale, writeComplex(writeBuffer)); + + // Simple Field (maxPresValue) + writeSimpleField("maxPresValue", maxPresValue, writeComplex(writeBuffer)); + + // Simple Field (valueChangeTime) + writeSimpleField("valueChangeTime", valueChangeTime, writeComplex(writeBuffer)); + + // Simple Field (valueBeforeChange) + writeSimpleField("valueBeforeChange", valueBeforeChange, writeComplex(writeBuffer)); + + // Simple Field (valueSet) + writeSimpleField("valueSet", valueSet, writeComplex(writeBuffer)); + + // Simple Field (loggingRecord) + writeSimpleField("loggingRecord", loggingRecord, writeComplex(writeBuffer)); + + // Simple Field (loggingObject) + writeSimpleField("loggingObject", loggingObject, writeComplex(writeBuffer)); + + // Simple Field (pulseRate) + writeSimpleField("pulseRate", pulseRate, writeComplex(writeBuffer)); + + // Simple Field (highLimit) + writeSimpleField("highLimit", highLimit, writeComplex(writeBuffer)); + + // Simple Field (lowLimit) + writeSimpleField("lowLimit", lowLimit, writeComplex(writeBuffer)); + + // Simple Field (limitMonitoringInterval) + writeSimpleField("limitMonitoringInterval", limitMonitoringInterval, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (limitEnable) + writeSimpleField("limitEnable", limitEnable, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (faultHighLimit) + writeSimpleField("faultHighLimit", faultHighLimit, writeComplex(writeBuffer)); + + // Simple Field (faultLowLimit) + writeSimpleField("faultLowLimit", faultLowLimit, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Accumulator"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Accumulator _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (deviceType) + lengthInBits += deviceType.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (scale) + lengthInBits += scale.getLengthInBits(); + + // Simple field (units) + lengthInBits += units.getLengthInBits(); + + // Simple field (prescale) + lengthInBits += prescale.getLengthInBits(); + + // Simple field (maxPresValue) + lengthInBits += maxPresValue.getLengthInBits(); + + // Simple field (valueChangeTime) + lengthInBits += valueChangeTime.getLengthInBits(); + + // Simple field (valueBeforeChange) + lengthInBits += valueBeforeChange.getLengthInBits(); + + // Simple field (valueSet) + lengthInBits += valueSet.getLengthInBits(); + + // Simple field (loggingRecord) + lengthInBits += loggingRecord.getLengthInBits(); + + // Simple field (loggingObject) + lengthInBits += loggingObject.getLengthInBits(); + + // Simple field (pulseRate) + lengthInBits += pulseRate.getLengthInBits(); + + // Simple field (highLimit) + lengthInBits += highLimit.getLengthInBits(); + + // Simple field (lowLimit) + lengthInBits += lowLimit.getLengthInBits(); + + // Simple field (limitMonitoringInterval) + lengthInBits += limitMonitoringInterval.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (limitEnable) + lengthInBits += limitEnable.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (faultHighLimit) + lengthInBits += faultHighLimit.getLengthInBits(); + + // Simple field (faultLowLimit) + lengthInBits += faultLowLimit.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Accumulator staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Accumulator"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deviceType = + readSimpleField( + "deviceType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty scale = + readSimpleField( + "scale", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetScale")), + readBuffer)); + + ReadableProperty units = + readSimpleField( + "units", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty prescale = + readSimpleField( + "prescale", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPrescale")), + readBuffer)); + + ReadableProperty maxPresValue = + readSimpleField( + "maxPresValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty valueChangeTime = + readSimpleField( + "valueChangeTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty valueBeforeChange = + readSimpleField( + "valueBeforeChange", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty valueSet = + readSimpleField( + "valueSet", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty loggingRecord = + readSimpleField( + "loggingRecord", + readComplex( + () -> + OptionalProperty.staticParse(readBuffer, (String) ("BACnetAccumulatorRecord")), + readBuffer)); + + OptionalProperty loggingObject = + readSimpleField( + "loggingObject", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + OptionalProperty pulseRate = + readSimpleField( + "pulseRate", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty highLimit = + readSimpleField( + "highLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty lowLimit = + readSimpleField( + "lowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty limitMonitoringInterval = + readSimpleField( + "limitMonitoringInterval", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty limitEnable = + readSimpleField( + "limitEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLimitEnable")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty faultHighLimit = + readSimpleField( + "faultHighLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty faultLowLimit = + readSimpleField( + "faultLowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Accumulator"); + // Create the instance + Accumulator _accumulator; + _accumulator = + new Accumulator( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + deviceType, + statusFlags, + eventState, + reliability, + outOfService, + scale, + units, + prescale, + maxPresValue, + valueChangeTime, + valueBeforeChange, + valueSet, + loggingRecord, + loggingObject, + pulseRate, + highLimit, + lowLimit, + limitMonitoringInterval, + notificationClass, + timeDelay, + limitEnable, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + faultHighLimit, + faultLowLimit, + tags, + profileLocation, + profileName); + return _accumulator; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Accumulator)) { + return false; + } + Accumulator that = (Accumulator) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getDeviceType() == that.getDeviceType()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getScale() == that.getScale()) + && (getUnits() == that.getUnits()) + && (getPrescale() == that.getPrescale()) + && (getMaxPresValue() == that.getMaxPresValue()) + && (getValueChangeTime() == that.getValueChangeTime()) + && (getValueBeforeChange() == that.getValueBeforeChange()) + && (getValueSet() == that.getValueSet()) + && (getLoggingRecord() == that.getLoggingRecord()) + && (getLoggingObject() == that.getLoggingObject()) + && (getPulseRate() == that.getPulseRate()) + && (getHighLimit() == that.getHighLimit()) + && (getLowLimit() == that.getLowLimit()) + && (getLimitMonitoringInterval() == that.getLimitMonitoringInterval()) + && (getNotificationClass() == that.getNotificationClass()) + && (getTimeDelay() == that.getTimeDelay()) + && (getLimitEnable() == that.getLimitEnable()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getFaultHighLimit() == that.getFaultHighLimit()) + && (getFaultLowLimit() == that.getFaultLowLimit()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getDeviceType(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getScale(), + getUnits(), + getPrescale(), + getMaxPresValue(), + getValueChangeTime(), + getValueBeforeChange(), + getValueSet(), + getLoggingRecord(), + getLoggingObject(), + getPulseRate(), + getHighLimit(), + getLowLimit(), + getLimitMonitoringInterval(), + getNotificationClass(), + getTimeDelay(), + getLimitEnable(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getFaultHighLimit(), + getFaultLowLimit(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AlertEnrollment.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AlertEnrollment.java new file mode 100644 index 00000000000..53167bd4ff6 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AlertEnrollment.java @@ -0,0 +1,582 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AlertEnrollment implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty eventState; + protected final ReadableProperty eventDetectionEnable; + protected final ReadableProperty notificationClass; + protected final ReadableProperty eventEnable; + protected final ReadableProperty ackedTransitions; + protected final ReadableProperty notifyType; + protected final ReadableProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AlertEnrollment( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty eventState, + ReadableProperty eventDetectionEnable, + ReadableProperty notificationClass, + ReadableProperty eventEnable, + ReadableProperty ackedTransitions, + ReadableProperty notifyType, + ReadableProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.eventState = eventState; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public ReadableProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public ReadableProperty getNotificationClass() { + return notificationClass; + } + + public ReadableProperty getEventEnable() { + return eventEnable; + } + + public ReadableProperty getAckedTransitions() { + return ackedTransitions; + } + + public ReadableProperty getNotifyType() { + return notifyType; + } + + public ReadableProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AlertEnrollment"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AlertEnrollment"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AlertEnrollment _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AlertEnrollment staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AlertEnrollment"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + ReadableProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + ReadableProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + ReadableProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + ReadableProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AlertEnrollment"); + // Create the instance + AlertEnrollment _alertEnrollment; + _alertEnrollment = + new AlertEnrollment( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + eventState, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _alertEnrollment; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AlertEnrollment)) { + return false; + } + AlertEnrollment that = (AlertEnrollment) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getEventState() == that.getEventState()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getEventState(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AnalogInput.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AnalogInput.java new file mode 100644 index 00000000000..4f9584e9213 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AnalogInput.java @@ -0,0 +1,1028 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AnalogInput implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final OptionalProperty deviceType; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final OptionalProperty updateInterval; + protected final ReadableProperty units; + protected final OptionalProperty minPresValue; + protected final OptionalProperty maxPresValue; + protected final OptionalProperty resolution; + protected final OptionalProperty cOVIncrement; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty highLimit; + protected final OptionalProperty lowLimit; + protected final OptionalProperty deadband; + protected final OptionalProperty limitEnable; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty interfaceValue; + protected final OptionalProperty faultHighLimit; + protected final OptionalProperty faultLowLimit; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AnalogInput( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + OptionalProperty deviceType, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + OptionalProperty updateInterval, + ReadableProperty units, + OptionalProperty minPresValue, + OptionalProperty maxPresValue, + OptionalProperty resolution, + OptionalProperty cOVIncrement, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty highLimit, + OptionalProperty lowLimit, + OptionalProperty deadband, + OptionalProperty limitEnable, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty interfaceValue, + OptionalProperty faultHighLimit, + OptionalProperty faultLowLimit, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.deviceType = deviceType; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.updateInterval = updateInterval; + this.units = units; + this.minPresValue = minPresValue; + this.maxPresValue = maxPresValue; + this.resolution = resolution; + this.cOVIncrement = cOVIncrement; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.highLimit = highLimit; + this.lowLimit = lowLimit; + this.deadband = deadband; + this.limitEnable = limitEnable; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.interfaceValue = interfaceValue; + this.faultHighLimit = faultHighLimit; + this.faultLowLimit = faultLowLimit; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getDeviceType() { + return deviceType; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getUpdateInterval() { + return updateInterval; + } + + public ReadableProperty getUnits() { + return units; + } + + public OptionalProperty getMinPresValue() { + return minPresValue; + } + + public OptionalProperty getMaxPresValue() { + return maxPresValue; + } + + public OptionalProperty getResolution() { + return resolution; + } + + public OptionalProperty getCOVIncrement() { + return cOVIncrement; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getHighLimit() { + return highLimit; + } + + public OptionalProperty getLowLimit() { + return lowLimit; + } + + public OptionalProperty getDeadband() { + return deadband; + } + + public OptionalProperty getLimitEnable() { + return limitEnable; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getInterfaceValue() { + return interfaceValue; + } + + public OptionalProperty getFaultHighLimit() { + return faultHighLimit; + } + + public OptionalProperty getFaultLowLimit() { + return faultLowLimit; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AnalogInput"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (deviceType) + writeSimpleField("deviceType", deviceType, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (updateInterval) + writeSimpleField("updateInterval", updateInterval, writeComplex(writeBuffer)); + + // Simple Field (units) + writeSimpleField("units", units, writeComplex(writeBuffer)); + + // Simple Field (minPresValue) + writeSimpleField("minPresValue", minPresValue, writeComplex(writeBuffer)); + + // Simple Field (maxPresValue) + writeSimpleField("maxPresValue", maxPresValue, writeComplex(writeBuffer)); + + // Simple Field (resolution) + writeSimpleField("resolution", resolution, writeComplex(writeBuffer)); + + // Simple Field (cOVIncrement) + writeSimpleField("cOVIncrement", cOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (highLimit) + writeSimpleField("highLimit", highLimit, writeComplex(writeBuffer)); + + // Simple Field (lowLimit) + writeSimpleField("lowLimit", lowLimit, writeComplex(writeBuffer)); + + // Simple Field (deadband) + writeSimpleField("deadband", deadband, writeComplex(writeBuffer)); + + // Simple Field (limitEnable) + writeSimpleField("limitEnable", limitEnable, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (interfaceValue) + writeSimpleField("interfaceValue", interfaceValue, writeComplex(writeBuffer)); + + // Simple Field (faultHighLimit) + writeSimpleField("faultHighLimit", faultHighLimit, writeComplex(writeBuffer)); + + // Simple Field (faultLowLimit) + writeSimpleField("faultLowLimit", faultLowLimit, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AnalogInput"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AnalogInput _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (deviceType) + lengthInBits += deviceType.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (updateInterval) + lengthInBits += updateInterval.getLengthInBits(); + + // Simple field (units) + lengthInBits += units.getLengthInBits(); + + // Simple field (minPresValue) + lengthInBits += minPresValue.getLengthInBits(); + + // Simple field (maxPresValue) + lengthInBits += maxPresValue.getLengthInBits(); + + // Simple field (resolution) + lengthInBits += resolution.getLengthInBits(); + + // Simple field (cOVIncrement) + lengthInBits += cOVIncrement.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (highLimit) + lengthInBits += highLimit.getLengthInBits(); + + // Simple field (lowLimit) + lengthInBits += lowLimit.getLengthInBits(); + + // Simple field (deadband) + lengthInBits += deadband.getLengthInBits(); + + // Simple field (limitEnable) + lengthInBits += limitEnable.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (interfaceValue) + lengthInBits += interfaceValue.getLengthInBits(); + + // Simple field (faultHighLimit) + lengthInBits += faultHighLimit.getLengthInBits(); + + // Simple field (faultLowLimit) + lengthInBits += faultLowLimit.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AnalogInput staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AnalogInput"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deviceType = + readSimpleField( + "deviceType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty updateInterval = + readSimpleField( + "updateInterval", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty units = + readSimpleField( + "units", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty minPresValue = + readSimpleField( + "minPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty maxPresValue = + readSimpleField( + "maxPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty resolution = + readSimpleField( + "resolution", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty cOVIncrement = + readSimpleField( + "cOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty highLimit = + readSimpleField( + "highLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty lowLimit = + readSimpleField( + "lowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty deadband = + readSimpleField( + "deadband", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty limitEnable = + readSimpleField( + "limitEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLimitEnable")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty interfaceValue = + readSimpleField( + "interfaceValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalREAL")), + readBuffer)); + + OptionalProperty faultHighLimit = + readSimpleField( + "faultHighLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty faultLowLimit = + readSimpleField( + "faultLowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AnalogInput"); + // Create the instance + AnalogInput _analogInput; + _analogInput = + new AnalogInput( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + deviceType, + statusFlags, + eventState, + reliability, + outOfService, + updateInterval, + units, + minPresValue, + maxPresValue, + resolution, + cOVIncrement, + timeDelay, + notificationClass, + highLimit, + lowLimit, + deadband, + limitEnable, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + interfaceValue, + faultHighLimit, + faultLowLimit, + tags, + profileLocation, + profileName); + return _analogInput; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AnalogInput)) { + return false; + } + AnalogInput that = (AnalogInput) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getDeviceType() == that.getDeviceType()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getUpdateInterval() == that.getUpdateInterval()) + && (getUnits() == that.getUnits()) + && (getMinPresValue() == that.getMinPresValue()) + && (getMaxPresValue() == that.getMaxPresValue()) + && (getResolution() == that.getResolution()) + && (getCOVIncrement() == that.getCOVIncrement()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getHighLimit() == that.getHighLimit()) + && (getLowLimit() == that.getLowLimit()) + && (getDeadband() == that.getDeadband()) + && (getLimitEnable() == that.getLimitEnable()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getInterfaceValue() == that.getInterfaceValue()) + && (getFaultHighLimit() == that.getFaultHighLimit()) + && (getFaultLowLimit() == that.getFaultLowLimit()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getDeviceType(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getUpdateInterval(), + getUnits(), + getMinPresValue(), + getMaxPresValue(), + getResolution(), + getCOVIncrement(), + getTimeDelay(), + getNotificationClass(), + getHighLimit(), + getLowLimit(), + getDeadband(), + getLimitEnable(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getInterfaceValue(), + getFaultHighLimit(), + getFaultLowLimit(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AnalogOutput.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AnalogOutput.java new file mode 100644 index 00000000000..4d6c3558b92 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AnalogOutput.java @@ -0,0 +1,1126 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AnalogOutput implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final WritableProperty presentValue; + protected final OptionalProperty description; + protected final OptionalProperty deviceType; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty units; + protected final OptionalProperty minPresValue; + protected final OptionalProperty maxPresValue; + protected final OptionalProperty resolution; + protected final ReadableProperty priorityArray; + protected final ReadableProperty relinquishDefault; + protected final OptionalProperty cOVIncrement; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty highLimit; + protected final OptionalProperty lowLimit; + protected final OptionalProperty deadband; + protected final OptionalProperty limitEnable; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty interfaceValue; + protected final ReadableProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AnalogOutput( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + WritableProperty presentValue, + OptionalProperty description, + OptionalProperty deviceType, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty units, + OptionalProperty minPresValue, + OptionalProperty maxPresValue, + OptionalProperty resolution, + ReadableProperty priorityArray, + ReadableProperty relinquishDefault, + OptionalProperty cOVIncrement, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty highLimit, + OptionalProperty lowLimit, + OptionalProperty deadband, + OptionalProperty limitEnable, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty interfaceValue, + ReadableProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.deviceType = deviceType; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.units = units; + this.minPresValue = minPresValue; + this.maxPresValue = maxPresValue; + this.resolution = resolution; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.cOVIncrement = cOVIncrement; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.highLimit = highLimit; + this.lowLimit = lowLimit; + this.deadband = deadband; + this.limitEnable = limitEnable; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.interfaceValue = interfaceValue; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public WritableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getDeviceType() { + return deviceType; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getUnits() { + return units; + } + + public OptionalProperty getMinPresValue() { + return minPresValue; + } + + public OptionalProperty getMaxPresValue() { + return maxPresValue; + } + + public OptionalProperty getResolution() { + return resolution; + } + + public ReadableProperty getPriorityArray() { + return priorityArray; + } + + public ReadableProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getCOVIncrement() { + return cOVIncrement; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getHighLimit() { + return highLimit; + } + + public OptionalProperty getLowLimit() { + return lowLimit; + } + + public OptionalProperty getDeadband() { + return deadband; + } + + public OptionalProperty getLimitEnable() { + return limitEnable; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getInterfaceValue() { + return interfaceValue; + } + + public ReadableProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AnalogOutput"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (deviceType) + writeSimpleField("deviceType", deviceType, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (units) + writeSimpleField("units", units, writeComplex(writeBuffer)); + + // Simple Field (minPresValue) + writeSimpleField("minPresValue", minPresValue, writeComplex(writeBuffer)); + + // Simple Field (maxPresValue) + writeSimpleField("maxPresValue", maxPresValue, writeComplex(writeBuffer)); + + // Simple Field (resolution) + writeSimpleField("resolution", resolution, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (cOVIncrement) + writeSimpleField("cOVIncrement", cOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (highLimit) + writeSimpleField("highLimit", highLimit, writeComplex(writeBuffer)); + + // Simple Field (lowLimit) + writeSimpleField("lowLimit", lowLimit, writeComplex(writeBuffer)); + + // Simple Field (deadband) + writeSimpleField("deadband", deadband, writeComplex(writeBuffer)); + + // Simple Field (limitEnable) + writeSimpleField("limitEnable", limitEnable, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (interfaceValue) + writeSimpleField("interfaceValue", interfaceValue, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AnalogOutput"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AnalogOutput _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (deviceType) + lengthInBits += deviceType.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (units) + lengthInBits += units.getLengthInBits(); + + // Simple field (minPresValue) + lengthInBits += minPresValue.getLengthInBits(); + + // Simple field (maxPresValue) + lengthInBits += maxPresValue.getLengthInBits(); + + // Simple field (resolution) + lengthInBits += resolution.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (cOVIncrement) + lengthInBits += cOVIncrement.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (highLimit) + lengthInBits += highLimit.getLengthInBits(); + + // Simple field (lowLimit) + lengthInBits += lowLimit.getLengthInBits(); + + // Simple field (deadband) + lengthInBits += deadband.getLengthInBits(); + + // Simple field (limitEnable) + lengthInBits += limitEnable.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (interfaceValue) + lengthInBits += interfaceValue.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AnalogOutput staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AnalogOutput"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + WritableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deviceType = + readSimpleField( + "deviceType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty units = + readSimpleField( + "units", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty minPresValue = + readSimpleField( + "minPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty maxPresValue = + readSimpleField( + "maxPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty resolution = + readSimpleField( + "resolution", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + ReadableProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty cOVIncrement = + readSimpleField( + "cOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty highLimit = + readSimpleField( + "highLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty lowLimit = + readSimpleField( + "lowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty deadband = + readSimpleField( + "deadband", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty limitEnable = + readSimpleField( + "limitEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLimitEnable")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty interfaceValue = + readSimpleField( + "interfaceValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalREAL")), + readBuffer)); + + ReadableProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AnalogOutput"); + // Create the instance + AnalogOutput _analogOutput; + _analogOutput = + new AnalogOutput( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + deviceType, + statusFlags, + eventState, + reliability, + outOfService, + units, + minPresValue, + maxPresValue, + resolution, + priorityArray, + relinquishDefault, + cOVIncrement, + timeDelay, + notificationClass, + highLimit, + lowLimit, + deadband, + limitEnable, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + interfaceValue, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _analogOutput; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AnalogOutput)) { + return false; + } + AnalogOutput that = (AnalogOutput) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getDeviceType() == that.getDeviceType()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getUnits() == that.getUnits()) + && (getMinPresValue() == that.getMinPresValue()) + && (getMaxPresValue() == that.getMaxPresValue()) + && (getResolution() == that.getResolution()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getCOVIncrement() == that.getCOVIncrement()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getHighLimit() == that.getHighLimit()) + && (getLowLimit() == that.getLowLimit()) + && (getDeadband() == that.getDeadband()) + && (getLimitEnable() == that.getLimitEnable()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getInterfaceValue() == that.getInterfaceValue()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getDeviceType(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getUnits(), + getMinPresValue(), + getMaxPresValue(), + getResolution(), + getPriorityArray(), + getRelinquishDefault(), + getCOVIncrement(), + getTimeDelay(), + getNotificationClass(), + getHighLimit(), + getLowLimit(), + getDeadband(), + getLimitEnable(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getInterfaceValue(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AnalogValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AnalogValue.java new file mode 100644 index 00000000000..cf1705113bc --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/AnalogValue.java @@ -0,0 +1,1124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class AnalogValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty units; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty cOVIncrement; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty highLimit; + protected final OptionalProperty lowLimit; + protected final OptionalProperty deadband; + protected final OptionalProperty limitEnable; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final OptionalProperty minPresValue; + protected final OptionalProperty maxPresValue; + protected final OptionalProperty resolution; + protected final ReadableProperty propertyList; + protected final OptionalProperty faultHighLimit; + protected final OptionalProperty faultLowLimit; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public AnalogValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty units, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty cOVIncrement, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty highLimit, + OptionalProperty lowLimit, + OptionalProperty deadband, + OptionalProperty limitEnable, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + OptionalProperty minPresValue, + OptionalProperty maxPresValue, + OptionalProperty resolution, + ReadableProperty propertyList, + OptionalProperty faultHighLimit, + OptionalProperty faultLowLimit, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.units = units; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.cOVIncrement = cOVIncrement; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.highLimit = highLimit; + this.lowLimit = lowLimit; + this.deadband = deadband; + this.limitEnable = limitEnable; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.minPresValue = minPresValue; + this.maxPresValue = maxPresValue; + this.resolution = resolution; + this.propertyList = propertyList; + this.faultHighLimit = faultHighLimit; + this.faultLowLimit = faultLowLimit; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getUnits() { + return units; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getCOVIncrement() { + return cOVIncrement; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getHighLimit() { + return highLimit; + } + + public OptionalProperty getLowLimit() { + return lowLimit; + } + + public OptionalProperty getDeadband() { + return deadband; + } + + public OptionalProperty getLimitEnable() { + return limitEnable; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public OptionalProperty getMinPresValue() { + return minPresValue; + } + + public OptionalProperty getMaxPresValue() { + return maxPresValue; + } + + public OptionalProperty getResolution() { + return resolution; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getFaultHighLimit() { + return faultHighLimit; + } + + public OptionalProperty getFaultLowLimit() { + return faultLowLimit; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("AnalogValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (units) + writeSimpleField("units", units, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (cOVIncrement) + writeSimpleField("cOVIncrement", cOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (highLimit) + writeSimpleField("highLimit", highLimit, writeComplex(writeBuffer)); + + // Simple Field (lowLimit) + writeSimpleField("lowLimit", lowLimit, writeComplex(writeBuffer)); + + // Simple Field (deadband) + writeSimpleField("deadband", deadband, writeComplex(writeBuffer)); + + // Simple Field (limitEnable) + writeSimpleField("limitEnable", limitEnable, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (minPresValue) + writeSimpleField("minPresValue", minPresValue, writeComplex(writeBuffer)); + + // Simple Field (maxPresValue) + writeSimpleField("maxPresValue", maxPresValue, writeComplex(writeBuffer)); + + // Simple Field (resolution) + writeSimpleField("resolution", resolution, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (faultHighLimit) + writeSimpleField("faultHighLimit", faultHighLimit, writeComplex(writeBuffer)); + + // Simple Field (faultLowLimit) + writeSimpleField("faultLowLimit", faultLowLimit, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("AnalogValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + AnalogValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (units) + lengthInBits += units.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (cOVIncrement) + lengthInBits += cOVIncrement.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (highLimit) + lengthInBits += highLimit.getLengthInBits(); + + // Simple field (lowLimit) + lengthInBits += lowLimit.getLengthInBits(); + + // Simple field (deadband) + lengthInBits += deadband.getLengthInBits(); + + // Simple field (limitEnable) + lengthInBits += limitEnable.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (minPresValue) + lengthInBits += minPresValue.getLengthInBits(); + + // Simple field (maxPresValue) + lengthInBits += maxPresValue.getLengthInBits(); + + // Simple field (resolution) + lengthInBits += resolution.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (faultHighLimit) + lengthInBits += faultHighLimit.getLengthInBits(); + + // Simple field (faultLowLimit) + lengthInBits += faultLowLimit.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static AnalogValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("AnalogValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty units = + readSimpleField( + "units", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty cOVIncrement = + readSimpleField( + "cOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty highLimit = + readSimpleField( + "highLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty lowLimit = + readSimpleField( + "lowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty deadband = + readSimpleField( + "deadband", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty limitEnable = + readSimpleField( + "limitEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLimitEnable")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty minPresValue = + readSimpleField( + "minPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty maxPresValue = + readSimpleField( + "maxPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty resolution = + readSimpleField( + "resolution", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty faultHighLimit = + readSimpleField( + "faultHighLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty faultLowLimit = + readSimpleField( + "faultLowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("AnalogValue"); + // Create the instance + AnalogValue _analogValue; + _analogValue = + new AnalogValue( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + statusFlags, + eventState, + reliability, + outOfService, + units, + priorityArray, + relinquishDefault, + cOVIncrement, + timeDelay, + notificationClass, + highLimit, + lowLimit, + deadband, + limitEnable, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + minPresValue, + maxPresValue, + resolution, + propertyList, + faultHighLimit, + faultLowLimit, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _analogValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AnalogValue)) { + return false; + } + AnalogValue that = (AnalogValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getUnits() == that.getUnits()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getCOVIncrement() == that.getCOVIncrement()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getHighLimit() == that.getHighLimit()) + && (getLowLimit() == that.getLowLimit()) + && (getDeadband() == that.getDeadband()) + && (getLimitEnable() == that.getLimitEnable()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getMinPresValue() == that.getMinPresValue()) + && (getMaxPresValue() == that.getMaxPresValue()) + && (getResolution() == that.getResolution()) + && (getPropertyList() == that.getPropertyList()) + && (getFaultHighLimit() == that.getFaultHighLimit()) + && (getFaultLowLimit() == that.getFaultLowLimit()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getUnits(), + getPriorityArray(), + getRelinquishDefault(), + getCOVIncrement(), + getTimeDelay(), + getNotificationClass(), + getHighLimit(), + getLowLimit(), + getDeadband(), + getLimitEnable(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getMinPresValue(), + getMaxPresValue(), + getResolution(), + getPropertyList(), + getFaultHighLimit(), + getFaultLowLimit(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Averaging.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Averaging.java new file mode 100644 index 00000000000..13d10735ea0 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Averaging.java @@ -0,0 +1,543 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Averaging implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty minimumValue; + protected final OptionalProperty minimumValueTimestamp; + protected final ReadableProperty averageValue; + protected final OptionalProperty varianceValue; + protected final ReadableProperty maximumValue; + protected final OptionalProperty maximumValueTimestamp; + protected final OptionalProperty description; + protected final WritableProperty attemptedSamples; + protected final ReadableProperty validSamples; + protected final ReadableProperty objectPropertyReference; + protected final WritableProperty windowInterval; + protected final WritableProperty windowSamples; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Averaging( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty minimumValue, + OptionalProperty minimumValueTimestamp, + ReadableProperty averageValue, + OptionalProperty varianceValue, + ReadableProperty maximumValue, + OptionalProperty maximumValueTimestamp, + OptionalProperty description, + WritableProperty attemptedSamples, + ReadableProperty validSamples, + ReadableProperty objectPropertyReference, + WritableProperty windowInterval, + WritableProperty windowSamples, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.minimumValue = minimumValue; + this.minimumValueTimestamp = minimumValueTimestamp; + this.averageValue = averageValue; + this.varianceValue = varianceValue; + this.maximumValue = maximumValue; + this.maximumValueTimestamp = maximumValueTimestamp; + this.description = description; + this.attemptedSamples = attemptedSamples; + this.validSamples = validSamples; + this.objectPropertyReference = objectPropertyReference; + this.windowInterval = windowInterval; + this.windowSamples = windowSamples; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getMinimumValue() { + return minimumValue; + } + + public OptionalProperty getMinimumValueTimestamp() { + return minimumValueTimestamp; + } + + public ReadableProperty getAverageValue() { + return averageValue; + } + + public OptionalProperty getVarianceValue() { + return varianceValue; + } + + public ReadableProperty getMaximumValue() { + return maximumValue; + } + + public OptionalProperty getMaximumValueTimestamp() { + return maximumValueTimestamp; + } + + public OptionalProperty getDescription() { + return description; + } + + public WritableProperty getAttemptedSamples() { + return attemptedSamples; + } + + public ReadableProperty getValidSamples() { + return validSamples; + } + + public ReadableProperty getObjectPropertyReference() { + return objectPropertyReference; + } + + public WritableProperty getWindowInterval() { + return windowInterval; + } + + public WritableProperty getWindowSamples() { + return windowSamples; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Averaging"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (minimumValue) + writeSimpleField("minimumValue", minimumValue, writeComplex(writeBuffer)); + + // Simple Field (minimumValueTimestamp) + writeSimpleField("minimumValueTimestamp", minimumValueTimestamp, writeComplex(writeBuffer)); + + // Simple Field (averageValue) + writeSimpleField("averageValue", averageValue, writeComplex(writeBuffer)); + + // Simple Field (varianceValue) + writeSimpleField("varianceValue", varianceValue, writeComplex(writeBuffer)); + + // Simple Field (maximumValue) + writeSimpleField("maximumValue", maximumValue, writeComplex(writeBuffer)); + + // Simple Field (maximumValueTimestamp) + writeSimpleField("maximumValueTimestamp", maximumValueTimestamp, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (attemptedSamples) + writeSimpleField("attemptedSamples", attemptedSamples, writeComplex(writeBuffer)); + + // Simple Field (validSamples) + writeSimpleField("validSamples", validSamples, writeComplex(writeBuffer)); + + // Simple Field (objectPropertyReference) + writeSimpleField("objectPropertyReference", objectPropertyReference, writeComplex(writeBuffer)); + + // Simple Field (windowInterval) + writeSimpleField("windowInterval", windowInterval, writeComplex(writeBuffer)); + + // Simple Field (windowSamples) + writeSimpleField("windowSamples", windowSamples, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Averaging"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Averaging _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (minimumValue) + lengthInBits += minimumValue.getLengthInBits(); + + // Simple field (minimumValueTimestamp) + lengthInBits += minimumValueTimestamp.getLengthInBits(); + + // Simple field (averageValue) + lengthInBits += averageValue.getLengthInBits(); + + // Simple field (varianceValue) + lengthInBits += varianceValue.getLengthInBits(); + + // Simple field (maximumValue) + lengthInBits += maximumValue.getLengthInBits(); + + // Simple field (maximumValueTimestamp) + lengthInBits += maximumValueTimestamp.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (attemptedSamples) + lengthInBits += attemptedSamples.getLengthInBits(); + + // Simple field (validSamples) + lengthInBits += validSamples.getLengthInBits(); + + // Simple field (objectPropertyReference) + lengthInBits += objectPropertyReference.getLengthInBits(); + + // Simple field (windowInterval) + lengthInBits += windowInterval.getLengthInBits(); + + // Simple field (windowSamples) + lengthInBits += windowSamples.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Averaging staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Averaging"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty minimumValue = + readSimpleField( + "minimumValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty minimumValueTimestamp = + readSimpleField( + "minimumValueTimestamp", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + ReadableProperty averageValue = + readSimpleField( + "averageValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty varianceValue = + readSimpleField( + "varianceValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty maximumValue = + readSimpleField( + "maximumValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty maximumValueTimestamp = + readSimpleField( + "maximumValueTimestamp", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + WritableProperty attemptedSamples = + readSimpleField( + "attemptedSamples", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty validSamples = + readSimpleField( + "validSamples", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty objectPropertyReference = + readSimpleField( + "objectPropertyReference", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectPropertyReference")), + readBuffer)); + + WritableProperty windowInterval = + readSimpleField( + "windowInterval", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + WritableProperty windowSamples = + readSimpleField( + "windowSamples", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Averaging"); + // Create the instance + Averaging _averaging; + _averaging = + new Averaging( + objectIdentifier, + objectName, + objectType, + minimumValue, + minimumValueTimestamp, + averageValue, + varianceValue, + maximumValue, + maximumValueTimestamp, + description, + attemptedSamples, + validSamples, + objectPropertyReference, + windowInterval, + windowSamples, + propertyList, + tags, + profileLocation, + profileName); + return _averaging; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Averaging)) { + return false; + } + Averaging that = (Averaging) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getMinimumValue() == that.getMinimumValue()) + && (getMinimumValueTimestamp() == that.getMinimumValueTimestamp()) + && (getAverageValue() == that.getAverageValue()) + && (getVarianceValue() == that.getVarianceValue()) + && (getMaximumValue() == that.getMaximumValue()) + && (getMaximumValueTimestamp() == that.getMaximumValueTimestamp()) + && (getDescription() == that.getDescription()) + && (getAttemptedSamples() == that.getAttemptedSamples()) + && (getValidSamples() == that.getValidSamples()) + && (getObjectPropertyReference() == that.getObjectPropertyReference()) + && (getWindowInterval() == that.getWindowInterval()) + && (getWindowSamples() == that.getWindowSamples()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getMinimumValue(), + getMinimumValueTimestamp(), + getAverageValue(), + getVarianceValue(), + getMaximumValue(), + getMaximumValueTimestamp(), + getDescription(), + getAttemptedSamples(), + getValidSamples(), + getObjectPropertyReference(), + getWindowInterval(), + getWindowSamples(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetConstructedData.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetConstructedData.java index 119237052f3..d9dc0a40fb7 100644 --- a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetConstructedData.java +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetConstructedData.java @@ -6668,17 +6668,6 @@ public static BACnetConstructedData staticParse( objectTypeArgument, propertyIdentifierArgument, arrayIndexArgument); - } else if (EvaluationHelper.equals(objectTypeArgument, BACnetObjectType.LIGHTING_OUTPUT) - && EvaluationHelper.equals( - propertyIdentifierArgument, BACnetPropertyIdentifier.TRACKING_VALUE) - && EvaluationHelper.equals(peekedTagNumber, (short) 4)) { - builder = - BACnetConstructedDataLightingOutputTrackingValue.staticParseBACnetConstructedDataBuilder( - readBuffer, - tagNumber, - objectTypeArgument, - propertyIdentifierArgument, - arrayIndexArgument); } else if (true && EvaluationHelper.equals( propertyIdentifierArgument, BACnetPropertyIdentifier.TRACKING_VALUE) diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStates.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStates.java index 53d1587beaf..411dac76e0c 100644 --- a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStates.java +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStates.java @@ -127,7 +127,7 @@ public static BACnetPropertyStates staticParse(ReadBuffer readBuffer) throws Par readBuffer, peekedTagNumber); } else if (EvaluationHelper.equals(peekedTagNumber, (short) 5)) { builder = - BACnetPropertyStatesProgramChange.staticParseBACnetPropertyStatesBuilder( + BACnetPropertyStatesProgramState.staticParseBACnetPropertyStatesBuilder( readBuffer, peekedTagNumber); } else if (EvaluationHelper.equals(peekedTagNumber, (short) 6)) { builder = @@ -151,7 +151,7 @@ public static BACnetPropertyStates staticParse(ReadBuffer readBuffer) throws Par readBuffer, peekedTagNumber); } else if (EvaluationHelper.equals(peekedTagNumber, (short) 11)) { builder = - BACnetPropertyStatesExtendedValue.staticParseBACnetPropertyStatesBuilder( + BACnetPropertyStatesUnsignedValue.staticParseBACnetPropertyStatesBuilder( readBuffer, peekedTagNumber); } else if (EvaluationHelper.equals(peekedTagNumber, (short) 12)) { builder = diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesProgramChange.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesProgramChange.java index 46c14a53129..0aa76117073 100644 --- a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesProgramChange.java +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesProgramChange.java @@ -40,16 +40,16 @@ public class BACnetPropertyStatesProgramChange extends BACnetPropertyStates impl // Accessors for discriminator values. // Properties. - protected final BACnetProgramStateTagged programState; + protected final BACnetProgramRequestTagged programChange; public BACnetPropertyStatesProgramChange( - BACnetTagHeader peekedTagHeader, BACnetProgramStateTagged programState) { + BACnetTagHeader peekedTagHeader, BACnetProgramRequestTagged programChange) { super(peekedTagHeader); - this.programState = programState; + this.programChange = programChange; } - public BACnetProgramStateTagged getProgramState() { - return programState; + public BACnetProgramRequestTagged getProgramChange() { + return programChange; } @Override @@ -59,8 +59,8 @@ protected void serializeBACnetPropertyStatesChild(WriteBuffer writeBuffer) boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); writeBuffer.pushContext("BACnetPropertyStatesProgramChange"); - // Simple Field (programState) - writeSimpleField("programState", programState, writeComplex(writeBuffer)); + // Simple Field (programChange) + writeSimpleField("programChange", programChange, writeComplex(writeBuffer)); writeBuffer.popContext("BACnetPropertyStatesProgramChange"); } @@ -76,8 +76,8 @@ public int getLengthInBits() { BACnetPropertyStatesProgramChange _value = this; boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); - // Simple field (programState) - lengthInBits += programState.getLengthInBits(); + // Simple field (programChange) + lengthInBits += programChange.getLengthInBits(); return lengthInBits; } @@ -88,12 +88,12 @@ public static BACnetPropertyStatesBuilder staticParseBACnetPropertyStatesBuilder PositionAware positionAware = readBuffer; boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); - BACnetProgramStateTagged programState = + BACnetProgramRequestTagged programChange = readSimpleField( - "programState", + "programChange", readComplex( () -> - BACnetProgramStateTagged.staticParse( + BACnetProgramRequestTagged.staticParse( readBuffer, (short) (peekedTagNumber), (TagClass) (TagClass.CONTEXT_SPECIFIC_TAGS)), @@ -101,20 +101,20 @@ public static BACnetPropertyStatesBuilder staticParseBACnetPropertyStatesBuilder readBuffer.closeContext("BACnetPropertyStatesProgramChange"); // Create the instance - return new BACnetPropertyStatesProgramChangeBuilderImpl(programState); + return new BACnetPropertyStatesProgramChangeBuilderImpl(programChange); } public static class BACnetPropertyStatesProgramChangeBuilderImpl implements BACnetPropertyStates.BACnetPropertyStatesBuilder { - private final BACnetProgramStateTagged programState; + private final BACnetProgramRequestTagged programChange; - public BACnetPropertyStatesProgramChangeBuilderImpl(BACnetProgramStateTagged programState) { - this.programState = programState; + public BACnetPropertyStatesProgramChangeBuilderImpl(BACnetProgramRequestTagged programChange) { + this.programChange = programChange; } public BACnetPropertyStatesProgramChange build(BACnetTagHeader peekedTagHeader) { BACnetPropertyStatesProgramChange bACnetPropertyStatesProgramChange = - new BACnetPropertyStatesProgramChange(peekedTagHeader, programState); + new BACnetPropertyStatesProgramChange(peekedTagHeader, programChange); return bACnetPropertyStatesProgramChange; } } @@ -128,12 +128,12 @@ public boolean equals(Object o) { return false; } BACnetPropertyStatesProgramChange that = (BACnetPropertyStatesProgramChange) o; - return (getProgramState() == that.getProgramState()) && super.equals(that) && true; + return (getProgramChange() == that.getProgramChange()) && super.equals(that) && true; } @Override public int hashCode() { - return Objects.hash(super.hashCode(), getProgramState()); + return Objects.hash(super.hashCode(), getProgramChange()); } @Override diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesProgramState.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesProgramState.java new file mode 100644 index 00000000000..994222b7830 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesProgramState.java @@ -0,0 +1,149 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class BACnetPropertyStatesProgramState extends BACnetPropertyStates implements Message { + + // Accessors for discriminator values. + + // Properties. + protected final BACnetProgramStateTagged programState; + + public BACnetPropertyStatesProgramState( + BACnetTagHeader peekedTagHeader, BACnetProgramStateTagged programState) { + super(peekedTagHeader); + this.programState = programState; + } + + public BACnetProgramStateTagged getProgramState() { + return programState; + } + + @Override + protected void serializeBACnetPropertyStatesChild(WriteBuffer writeBuffer) + throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("BACnetPropertyStatesProgramState"); + + // Simple Field (programState) + writeSimpleField("programState", programState, writeComplex(writeBuffer)); + + writeBuffer.popContext("BACnetPropertyStatesProgramState"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = super.getLengthInBits(); + BACnetPropertyStatesProgramState _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (programState) + lengthInBits += programState.getLengthInBits(); + + return lengthInBits; + } + + public static BACnetPropertyStatesBuilder staticParseBACnetPropertyStatesBuilder( + ReadBuffer readBuffer, Short peekedTagNumber) throws ParseException { + readBuffer.pullContext("BACnetPropertyStatesProgramState"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + BACnetProgramStateTagged programState = + readSimpleField( + "programState", + readComplex( + () -> + BACnetProgramStateTagged.staticParse( + readBuffer, + (short) (peekedTagNumber), + (TagClass) (TagClass.CONTEXT_SPECIFIC_TAGS)), + readBuffer)); + + readBuffer.closeContext("BACnetPropertyStatesProgramState"); + // Create the instance + return new BACnetPropertyStatesProgramStateBuilderImpl(programState); + } + + public static class BACnetPropertyStatesProgramStateBuilderImpl + implements BACnetPropertyStates.BACnetPropertyStatesBuilder { + private final BACnetProgramStateTagged programState; + + public BACnetPropertyStatesProgramStateBuilderImpl(BACnetProgramStateTagged programState) { + this.programState = programState; + } + + public BACnetPropertyStatesProgramState build(BACnetTagHeader peekedTagHeader) { + BACnetPropertyStatesProgramState bACnetPropertyStatesProgramState = + new BACnetPropertyStatesProgramState(peekedTagHeader, programState); + return bACnetPropertyStatesProgramState; + } + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BACnetPropertyStatesProgramState)) { + return false; + } + BACnetPropertyStatesProgramState that = (BACnetPropertyStatesProgramState) o; + return (getProgramState() == that.getProgramState()) && super.equals(that) && true; + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), getProgramState()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesUnsignedValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesUnsignedValue.java new file mode 100644 index 00000000000..03b2280a0c5 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BACnetPropertyStatesUnsignedValue.java @@ -0,0 +1,151 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class BACnetPropertyStatesUnsignedValue extends BACnetPropertyStates implements Message { + + // Accessors for discriminator values. + + // Properties. + protected final BACnetContextTagUnsignedInteger unsignedValue; + + public BACnetPropertyStatesUnsignedValue( + BACnetTagHeader peekedTagHeader, BACnetContextTagUnsignedInteger unsignedValue) { + super(peekedTagHeader); + this.unsignedValue = unsignedValue; + } + + public BACnetContextTagUnsignedInteger getUnsignedValue() { + return unsignedValue; + } + + @Override + protected void serializeBACnetPropertyStatesChild(WriteBuffer writeBuffer) + throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("BACnetPropertyStatesUnsignedValue"); + + // Simple Field (unsignedValue) + writeSimpleField("unsignedValue", unsignedValue, writeComplex(writeBuffer)); + + writeBuffer.popContext("BACnetPropertyStatesUnsignedValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = super.getLengthInBits(); + BACnetPropertyStatesUnsignedValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (unsignedValue) + lengthInBits += unsignedValue.getLengthInBits(); + + return lengthInBits; + } + + public static BACnetPropertyStatesBuilder staticParseBACnetPropertyStatesBuilder( + ReadBuffer readBuffer, Short peekedTagNumber) throws ParseException { + readBuffer.pullContext("BACnetPropertyStatesUnsignedValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + BACnetContextTagUnsignedInteger unsignedValue = + readSimpleField( + "unsignedValue", + readComplex( + () -> + (BACnetContextTagUnsignedInteger) + BACnetContextTag.staticParse( + readBuffer, + (short) (peekedTagNumber), + (BACnetDataType) (BACnetDataType.UNSIGNED_INTEGER)), + readBuffer)); + + readBuffer.closeContext("BACnetPropertyStatesUnsignedValue"); + // Create the instance + return new BACnetPropertyStatesUnsignedValueBuilderImpl(unsignedValue); + } + + public static class BACnetPropertyStatesUnsignedValueBuilderImpl + implements BACnetPropertyStates.BACnetPropertyStatesBuilder { + private final BACnetContextTagUnsignedInteger unsignedValue; + + public BACnetPropertyStatesUnsignedValueBuilderImpl( + BACnetContextTagUnsignedInteger unsignedValue) { + this.unsignedValue = unsignedValue; + } + + public BACnetPropertyStatesUnsignedValue build(BACnetTagHeader peekedTagHeader) { + BACnetPropertyStatesUnsignedValue bACnetPropertyStatesUnsignedValue = + new BACnetPropertyStatesUnsignedValue(peekedTagHeader, unsignedValue); + return bACnetPropertyStatesUnsignedValue; + } + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BACnetPropertyStatesUnsignedValue)) { + return false; + } + BACnetPropertyStatesUnsignedValue that = (BACnetPropertyStatesUnsignedValue) o; + return (getUnsignedValue() == that.getUnsignedValue()) && super.equals(that) && true; + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), getUnsignedValue()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryInput.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryInput.java new file mode 100644 index 00000000000..fb9f1de27c0 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryInput.java @@ -0,0 +1,969 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class BinaryInput implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final OptionalProperty deviceType; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty polarity; + protected final OptionalProperty inactiveText; + protected final OptionalProperty activeText; + protected final OptionalProperty changeOfStateTime; + protected final OptionalProperty changeOfStateCount; + protected final OptionalProperty timeOfStateCountReset; + protected final OptionalProperty elapsedActiveTime; + protected final OptionalProperty timeOfActiveTimeReset; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty alarmValue; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty interfaceValue; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public BinaryInput( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + OptionalProperty deviceType, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty polarity, + OptionalProperty inactiveText, + OptionalProperty activeText, + OptionalProperty changeOfStateTime, + OptionalProperty changeOfStateCount, + OptionalProperty timeOfStateCountReset, + OptionalProperty elapsedActiveTime, + OptionalProperty timeOfActiveTimeReset, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty alarmValue, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty interfaceValue, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.deviceType = deviceType; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.polarity = polarity; + this.inactiveText = inactiveText; + this.activeText = activeText; + this.changeOfStateTime = changeOfStateTime; + this.changeOfStateCount = changeOfStateCount; + this.timeOfStateCountReset = timeOfStateCountReset; + this.elapsedActiveTime = elapsedActiveTime; + this.timeOfActiveTimeReset = timeOfActiveTimeReset; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.alarmValue = alarmValue; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.interfaceValue = interfaceValue; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getDeviceType() { + return deviceType; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getPolarity() { + return polarity; + } + + public OptionalProperty getInactiveText() { + return inactiveText; + } + + public OptionalProperty getActiveText() { + return activeText; + } + + public OptionalProperty getChangeOfStateTime() { + return changeOfStateTime; + } + + public OptionalProperty getChangeOfStateCount() { + return changeOfStateCount; + } + + public OptionalProperty getTimeOfStateCountReset() { + return timeOfStateCountReset; + } + + public OptionalProperty getElapsedActiveTime() { + return elapsedActiveTime; + } + + public OptionalProperty getTimeOfActiveTimeReset() { + return timeOfActiveTimeReset; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getAlarmValue() { + return alarmValue; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getInterfaceValue() { + return interfaceValue; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("BinaryInput"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (deviceType) + writeSimpleField("deviceType", deviceType, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (polarity) + writeSimpleField("polarity", polarity, writeComplex(writeBuffer)); + + // Simple Field (inactiveText) + writeSimpleField("inactiveText", inactiveText, writeComplex(writeBuffer)); + + // Simple Field (activeText) + writeSimpleField("activeText", activeText, writeComplex(writeBuffer)); + + // Simple Field (changeOfStateTime) + writeSimpleField("changeOfStateTime", changeOfStateTime, writeComplex(writeBuffer)); + + // Simple Field (changeOfStateCount) + writeSimpleField("changeOfStateCount", changeOfStateCount, writeComplex(writeBuffer)); + + // Simple Field (timeOfStateCountReset) + writeSimpleField("timeOfStateCountReset", timeOfStateCountReset, writeComplex(writeBuffer)); + + // Simple Field (elapsedActiveTime) + writeSimpleField("elapsedActiveTime", elapsedActiveTime, writeComplex(writeBuffer)); + + // Simple Field (timeOfActiveTimeReset) + writeSimpleField("timeOfActiveTimeReset", timeOfActiveTimeReset, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (alarmValue) + writeSimpleField("alarmValue", alarmValue, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (interfaceValue) + writeSimpleField("interfaceValue", interfaceValue, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("BinaryInput"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + BinaryInput _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (deviceType) + lengthInBits += deviceType.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (polarity) + lengthInBits += polarity.getLengthInBits(); + + // Simple field (inactiveText) + lengthInBits += inactiveText.getLengthInBits(); + + // Simple field (activeText) + lengthInBits += activeText.getLengthInBits(); + + // Simple field (changeOfStateTime) + lengthInBits += changeOfStateTime.getLengthInBits(); + + // Simple field (changeOfStateCount) + lengthInBits += changeOfStateCount.getLengthInBits(); + + // Simple field (timeOfStateCountReset) + lengthInBits += timeOfStateCountReset.getLengthInBits(); + + // Simple field (elapsedActiveTime) + lengthInBits += elapsedActiveTime.getLengthInBits(); + + // Simple field (timeOfActiveTimeReset) + lengthInBits += timeOfActiveTimeReset.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (alarmValue) + lengthInBits += alarmValue.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (interfaceValue) + lengthInBits += interfaceValue.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static BinaryInput staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("BinaryInput"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetBinaryPV")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deviceType = + readSimpleField( + "deviceType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty polarity = + readSimpleField( + "polarity", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetPolarity")), + readBuffer)); + + OptionalProperty inactiveText = + readSimpleField( + "inactiveText", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty activeText = + readSimpleField( + "activeText", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty changeOfStateTime = + readSimpleField( + "changeOfStateTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty changeOfStateCount = + readSimpleField( + "changeOfStateCount", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeOfStateCountReset = + readSimpleField( + "timeOfStateCountReset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty elapsedActiveTime = + readSimpleField( + "elapsedActiveTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty timeOfActiveTimeReset = + readSimpleField( + "timeOfActiveTimeReset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alarmValue = + readSimpleField( + "alarmValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetBinaryPV")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty interfaceValue = + readSimpleField( + "interfaceValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalBinaryPV")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("BinaryInput"); + // Create the instance + BinaryInput _binaryInput; + _binaryInput = + new BinaryInput( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + deviceType, + statusFlags, + eventState, + reliability, + outOfService, + polarity, + inactiveText, + activeText, + changeOfStateTime, + changeOfStateCount, + timeOfStateCountReset, + elapsedActiveTime, + timeOfActiveTimeReset, + timeDelay, + notificationClass, + alarmValue, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + interfaceValue, + tags, + profileLocation, + profileName); + return _binaryInput; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BinaryInput)) { + return false; + } + BinaryInput that = (BinaryInput) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getDeviceType() == that.getDeviceType()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPolarity() == that.getPolarity()) + && (getInactiveText() == that.getInactiveText()) + && (getActiveText() == that.getActiveText()) + && (getChangeOfStateTime() == that.getChangeOfStateTime()) + && (getChangeOfStateCount() == that.getChangeOfStateCount()) + && (getTimeOfStateCountReset() == that.getTimeOfStateCountReset()) + && (getElapsedActiveTime() == that.getElapsedActiveTime()) + && (getTimeOfActiveTimeReset() == that.getTimeOfActiveTimeReset()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getAlarmValue() == that.getAlarmValue()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getInterfaceValue() == that.getInterfaceValue()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getDeviceType(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPolarity(), + getInactiveText(), + getActiveText(), + getChangeOfStateTime(), + getChangeOfStateCount(), + getTimeOfStateCountReset(), + getElapsedActiveTime(), + getTimeOfActiveTimeReset(), + getTimeDelay(), + getNotificationClass(), + getAlarmValue(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getInterfaceValue(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryLightingOutput.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryLightingOutput.java new file mode 100644 index 00000000000..75c94f938fd --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryLightingOutput.java @@ -0,0 +1,992 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class BinaryLightingOutput implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final WritableProperty presentValue; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty blinkWarnEnable; + protected final ReadableProperty egressTime; + protected final ReadableProperty egressActive; + protected final OptionalProperty feedbackValue; + protected final ReadableProperty priorityArray; + protected final ReadableProperty relinquishDefault; + protected final OptionalProperty power; + protected final OptionalProperty polarity; + protected final OptionalProperty elapsedActiveTime; + protected final OptionalProperty timeOfActiveTimeReset; + protected final OptionalProperty strikeCount; + protected final OptionalProperty timeOfStrikeCountReset; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final ReadableProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public BinaryLightingOutput( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + WritableProperty presentValue, + OptionalProperty description, + ReadableProperty statusFlags, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty blinkWarnEnable, + ReadableProperty egressTime, + ReadableProperty egressActive, + OptionalProperty feedbackValue, + ReadableProperty priorityArray, + ReadableProperty relinquishDefault, + OptionalProperty power, + OptionalProperty polarity, + OptionalProperty elapsedActiveTime, + OptionalProperty timeOfActiveTimeReset, + OptionalProperty strikeCount, + OptionalProperty timeOfStrikeCountReset, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + ReadableProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.outOfService = outOfService; + this.blinkWarnEnable = blinkWarnEnable; + this.egressTime = egressTime; + this.egressActive = egressActive; + this.feedbackValue = feedbackValue; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.power = power; + this.polarity = polarity; + this.elapsedActiveTime = elapsedActiveTime; + this.timeOfActiveTimeReset = timeOfActiveTimeReset; + this.strikeCount = strikeCount; + this.timeOfStrikeCountReset = timeOfStrikeCountReset; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public WritableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getBlinkWarnEnable() { + return blinkWarnEnable; + } + + public ReadableProperty getEgressTime() { + return egressTime; + } + + public ReadableProperty getEgressActive() { + return egressActive; + } + + public OptionalProperty getFeedbackValue() { + return feedbackValue; + } + + public ReadableProperty getPriorityArray() { + return priorityArray; + } + + public ReadableProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getPower() { + return power; + } + + public OptionalProperty getPolarity() { + return polarity; + } + + public OptionalProperty getElapsedActiveTime() { + return elapsedActiveTime; + } + + public OptionalProperty getTimeOfActiveTimeReset() { + return timeOfActiveTimeReset; + } + + public OptionalProperty getStrikeCount() { + return strikeCount; + } + + public OptionalProperty getTimeOfStrikeCountReset() { + return timeOfStrikeCountReset; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public ReadableProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("BinaryLightingOutput"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (blinkWarnEnable) + writeSimpleField("blinkWarnEnable", blinkWarnEnable, writeComplex(writeBuffer)); + + // Simple Field (egressTime) + writeSimpleField("egressTime", egressTime, writeComplex(writeBuffer)); + + // Simple Field (egressActive) + writeSimpleField("egressActive", egressActive, writeComplex(writeBuffer)); + + // Simple Field (feedbackValue) + writeSimpleField("feedbackValue", feedbackValue, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (power) + writeSimpleField("power", power, writeComplex(writeBuffer)); + + // Simple Field (polarity) + writeSimpleField("polarity", polarity, writeComplex(writeBuffer)); + + // Simple Field (elapsedActiveTime) + writeSimpleField("elapsedActiveTime", elapsedActiveTime, writeComplex(writeBuffer)); + + // Simple Field (timeOfActiveTimeReset) + writeSimpleField("timeOfActiveTimeReset", timeOfActiveTimeReset, writeComplex(writeBuffer)); + + // Simple Field (strikeCount) + writeSimpleField("strikeCount", strikeCount, writeComplex(writeBuffer)); + + // Simple Field (timeOfStrikeCountReset) + writeSimpleField("timeOfStrikeCountReset", timeOfStrikeCountReset, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("BinaryLightingOutput"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + BinaryLightingOutput _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (blinkWarnEnable) + lengthInBits += blinkWarnEnable.getLengthInBits(); + + // Simple field (egressTime) + lengthInBits += egressTime.getLengthInBits(); + + // Simple field (egressActive) + lengthInBits += egressActive.getLengthInBits(); + + // Simple field (feedbackValue) + lengthInBits += feedbackValue.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (power) + lengthInBits += power.getLengthInBits(); + + // Simple field (polarity) + lengthInBits += polarity.getLengthInBits(); + + // Simple field (elapsedActiveTime) + lengthInBits += elapsedActiveTime.getLengthInBits(); + + // Simple field (timeOfActiveTimeReset) + lengthInBits += timeOfActiveTimeReset.getLengthInBits(); + + // Simple field (strikeCount) + lengthInBits += strikeCount.getLengthInBits(); + + // Simple field (timeOfStrikeCountReset) + lengthInBits += timeOfStrikeCountReset.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static BinaryLightingOutput staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("BinaryLightingOutput"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + WritableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetBinaryLightingPV")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty blinkWarnEnable = + readSimpleField( + "blinkWarnEnable", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty egressTime = + readSimpleField( + "egressTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty egressActive = + readSimpleField( + "egressActive", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty feedbackValue = + readSimpleField( + "feedbackValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetBinaryLightingPV")), + readBuffer)); + + ReadableProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + ReadableProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetBinaryLightingPV")), + readBuffer)); + + OptionalProperty power = + readSimpleField( + "power", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty polarity = + readSimpleField( + "polarity", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPolarity")), + readBuffer)); + + OptionalProperty elapsedActiveTime = + readSimpleField( + "elapsedActiveTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty timeOfActiveTimeReset = + readSimpleField( + "timeOfActiveTimeReset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty strikeCount = + readSimpleField( + "strikeCount", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeOfStrikeCountReset = + readSimpleField( + "timeOfStrikeCountReset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + ReadableProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("BinaryLightingOutput"); + // Create the instance + BinaryLightingOutput _binaryLightingOutput; + _binaryLightingOutput = + new BinaryLightingOutput( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + statusFlags, + reliability, + outOfService, + blinkWarnEnable, + egressTime, + egressActive, + feedbackValue, + priorityArray, + relinquishDefault, + power, + polarity, + elapsedActiveTime, + timeOfActiveTimeReset, + strikeCount, + timeOfStrikeCountReset, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + reliabilityEvaluationInhibit, + propertyList, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _binaryLightingOutput; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BinaryLightingOutput)) { + return false; + } + BinaryLightingOutput that = (BinaryLightingOutput) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getBlinkWarnEnable() == that.getBlinkWarnEnable()) + && (getEgressTime() == that.getEgressTime()) + && (getEgressActive() == that.getEgressActive()) + && (getFeedbackValue() == that.getFeedbackValue()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getPower() == that.getPower()) + && (getPolarity() == that.getPolarity()) + && (getElapsedActiveTime() == that.getElapsedActiveTime()) + && (getTimeOfActiveTimeReset() == that.getTimeOfActiveTimeReset()) + && (getStrikeCount() == that.getStrikeCount()) + && (getTimeOfStrikeCountReset() == that.getTimeOfStrikeCountReset()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getStatusFlags(), + getReliability(), + getOutOfService(), + getBlinkWarnEnable(), + getEgressTime(), + getEgressActive(), + getFeedbackValue(), + getPriorityArray(), + getRelinquishDefault(), + getPower(), + getPolarity(), + getElapsedActiveTime(), + getTimeOfActiveTimeReset(), + getStrikeCount(), + getTimeOfStrikeCountReset(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryOutput.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryOutput.java new file mode 100644 index 00000000000..b04d51fa81e --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryOutput.java @@ -0,0 +1,1180 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class BinaryOutput implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final WritableProperty presentValue; + protected final OptionalProperty description; + protected final OptionalProperty deviceType; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty polarity; + protected final OptionalProperty inactiveText; + protected final OptionalProperty activeText; + protected final OptionalProperty changeOfStateTime; + protected final OptionalProperty changeOfStateCount; + protected final OptionalProperty timeOfStateCountReset; + protected final OptionalProperty elapsedActiveTime; + protected final OptionalProperty timeOfActiveTimeReset; + protected final OptionalProperty minimumOffTime; + protected final OptionalProperty minimumOnTime; + protected final ReadableProperty priorityArray; + protected final ReadableProperty relinquishDefault; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty feedbackValue; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty interfaceValue; + protected final ReadableProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public BinaryOutput( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + WritableProperty presentValue, + OptionalProperty description, + OptionalProperty deviceType, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty polarity, + OptionalProperty inactiveText, + OptionalProperty activeText, + OptionalProperty changeOfStateTime, + OptionalProperty changeOfStateCount, + OptionalProperty timeOfStateCountReset, + OptionalProperty elapsedActiveTime, + OptionalProperty timeOfActiveTimeReset, + OptionalProperty minimumOffTime, + OptionalProperty minimumOnTime, + ReadableProperty priorityArray, + ReadableProperty relinquishDefault, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty feedbackValue, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty interfaceValue, + ReadableProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.deviceType = deviceType; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.polarity = polarity; + this.inactiveText = inactiveText; + this.activeText = activeText; + this.changeOfStateTime = changeOfStateTime; + this.changeOfStateCount = changeOfStateCount; + this.timeOfStateCountReset = timeOfStateCountReset; + this.elapsedActiveTime = elapsedActiveTime; + this.timeOfActiveTimeReset = timeOfActiveTimeReset; + this.minimumOffTime = minimumOffTime; + this.minimumOnTime = minimumOnTime; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.feedbackValue = feedbackValue; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.interfaceValue = interfaceValue; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public WritableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getDeviceType() { + return deviceType; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getPolarity() { + return polarity; + } + + public OptionalProperty getInactiveText() { + return inactiveText; + } + + public OptionalProperty getActiveText() { + return activeText; + } + + public OptionalProperty getChangeOfStateTime() { + return changeOfStateTime; + } + + public OptionalProperty getChangeOfStateCount() { + return changeOfStateCount; + } + + public OptionalProperty getTimeOfStateCountReset() { + return timeOfStateCountReset; + } + + public OptionalProperty getElapsedActiveTime() { + return elapsedActiveTime; + } + + public OptionalProperty getTimeOfActiveTimeReset() { + return timeOfActiveTimeReset; + } + + public OptionalProperty getMinimumOffTime() { + return minimumOffTime; + } + + public OptionalProperty getMinimumOnTime() { + return minimumOnTime; + } + + public ReadableProperty getPriorityArray() { + return priorityArray; + } + + public ReadableProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getFeedbackValue() { + return feedbackValue; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getInterfaceValue() { + return interfaceValue; + } + + public ReadableProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("BinaryOutput"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (deviceType) + writeSimpleField("deviceType", deviceType, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (polarity) + writeSimpleField("polarity", polarity, writeComplex(writeBuffer)); + + // Simple Field (inactiveText) + writeSimpleField("inactiveText", inactiveText, writeComplex(writeBuffer)); + + // Simple Field (activeText) + writeSimpleField("activeText", activeText, writeComplex(writeBuffer)); + + // Simple Field (changeOfStateTime) + writeSimpleField("changeOfStateTime", changeOfStateTime, writeComplex(writeBuffer)); + + // Simple Field (changeOfStateCount) + writeSimpleField("changeOfStateCount", changeOfStateCount, writeComplex(writeBuffer)); + + // Simple Field (timeOfStateCountReset) + writeSimpleField("timeOfStateCountReset", timeOfStateCountReset, writeComplex(writeBuffer)); + + // Simple Field (elapsedActiveTime) + writeSimpleField("elapsedActiveTime", elapsedActiveTime, writeComplex(writeBuffer)); + + // Simple Field (timeOfActiveTimeReset) + writeSimpleField("timeOfActiveTimeReset", timeOfActiveTimeReset, writeComplex(writeBuffer)); + + // Simple Field (minimumOffTime) + writeSimpleField("minimumOffTime", minimumOffTime, writeComplex(writeBuffer)); + + // Simple Field (minimumOnTime) + writeSimpleField("minimumOnTime", minimumOnTime, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (feedbackValue) + writeSimpleField("feedbackValue", feedbackValue, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (interfaceValue) + writeSimpleField("interfaceValue", interfaceValue, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("BinaryOutput"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + BinaryOutput _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (deviceType) + lengthInBits += deviceType.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (polarity) + lengthInBits += polarity.getLengthInBits(); + + // Simple field (inactiveText) + lengthInBits += inactiveText.getLengthInBits(); + + // Simple field (activeText) + lengthInBits += activeText.getLengthInBits(); + + // Simple field (changeOfStateTime) + lengthInBits += changeOfStateTime.getLengthInBits(); + + // Simple field (changeOfStateCount) + lengthInBits += changeOfStateCount.getLengthInBits(); + + // Simple field (timeOfStateCountReset) + lengthInBits += timeOfStateCountReset.getLengthInBits(); + + // Simple field (elapsedActiveTime) + lengthInBits += elapsedActiveTime.getLengthInBits(); + + // Simple field (timeOfActiveTimeReset) + lengthInBits += timeOfActiveTimeReset.getLengthInBits(); + + // Simple field (minimumOffTime) + lengthInBits += minimumOffTime.getLengthInBits(); + + // Simple field (minimumOnTime) + lengthInBits += minimumOnTime.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (feedbackValue) + lengthInBits += feedbackValue.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (interfaceValue) + lengthInBits += interfaceValue.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static BinaryOutput staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("BinaryOutput"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + WritableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetBinaryPV")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deviceType = + readSimpleField( + "deviceType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty polarity = + readSimpleField( + "polarity", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetPolarity")), + readBuffer)); + + OptionalProperty inactiveText = + readSimpleField( + "inactiveText", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty activeText = + readSimpleField( + "activeText", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty changeOfStateTime = + readSimpleField( + "changeOfStateTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty changeOfStateCount = + readSimpleField( + "changeOfStateCount", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeOfStateCountReset = + readSimpleField( + "timeOfStateCountReset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty elapsedActiveTime = + readSimpleField( + "elapsedActiveTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty timeOfActiveTimeReset = + readSimpleField( + "timeOfActiveTimeReset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty minimumOffTime = + readSimpleField( + "minimumOffTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty minimumOnTime = + readSimpleField( + "minimumOnTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + ReadableProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetBinaryPV")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty feedbackValue = + readSimpleField( + "feedbackValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetBinaryPV")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty interfaceValue = + readSimpleField( + "interfaceValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalBinaryPV")), + readBuffer)); + + ReadableProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("BinaryOutput"); + // Create the instance + BinaryOutput _binaryOutput; + _binaryOutput = + new BinaryOutput( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + deviceType, + statusFlags, + eventState, + reliability, + outOfService, + polarity, + inactiveText, + activeText, + changeOfStateTime, + changeOfStateCount, + timeOfStateCountReset, + elapsedActiveTime, + timeOfActiveTimeReset, + minimumOffTime, + minimumOnTime, + priorityArray, + relinquishDefault, + timeDelay, + notificationClass, + feedbackValue, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + interfaceValue, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _binaryOutput; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BinaryOutput)) { + return false; + } + BinaryOutput that = (BinaryOutput) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getDeviceType() == that.getDeviceType()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPolarity() == that.getPolarity()) + && (getInactiveText() == that.getInactiveText()) + && (getActiveText() == that.getActiveText()) + && (getChangeOfStateTime() == that.getChangeOfStateTime()) + && (getChangeOfStateCount() == that.getChangeOfStateCount()) + && (getTimeOfStateCountReset() == that.getTimeOfStateCountReset()) + && (getElapsedActiveTime() == that.getElapsedActiveTime()) + && (getTimeOfActiveTimeReset() == that.getTimeOfActiveTimeReset()) + && (getMinimumOffTime() == that.getMinimumOffTime()) + && (getMinimumOnTime() == that.getMinimumOnTime()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getFeedbackValue() == that.getFeedbackValue()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getInterfaceValue() == that.getInterfaceValue()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getDeviceType(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPolarity(), + getInactiveText(), + getActiveText(), + getChangeOfStateTime(), + getChangeOfStateCount(), + getTimeOfStateCountReset(), + getElapsedActiveTime(), + getTimeOfActiveTimeReset(), + getMinimumOffTime(), + getMinimumOnTime(), + getPriorityArray(), + getRelinquishDefault(), + getTimeDelay(), + getNotificationClass(), + getFeedbackValue(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getInterfaceValue(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryValue.java new file mode 100644 index 00000000000..5cd7ae73f68 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BinaryValue.java @@ -0,0 +1,1111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class BinaryValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final OptionalProperty inactiveText; + protected final OptionalProperty activeText; + protected final OptionalProperty changeOfStateTime; + protected final OptionalProperty changeOfStateCount; + protected final OptionalProperty timeOfStateCountReset; + protected final OptionalProperty elapsedActiveTime; + protected final OptionalProperty timeOfActiveTimeReset; + protected final OptionalProperty minimumOffTime; + protected final OptionalProperty minimumOnTime; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty alarmValue; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public BinaryValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + OptionalProperty inactiveText, + OptionalProperty activeText, + OptionalProperty changeOfStateTime, + OptionalProperty changeOfStateCount, + OptionalProperty timeOfStateCountReset, + OptionalProperty elapsedActiveTime, + OptionalProperty timeOfActiveTimeReset, + OptionalProperty minimumOffTime, + OptionalProperty minimumOnTime, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty alarmValue, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.inactiveText = inactiveText; + this.activeText = activeText; + this.changeOfStateTime = changeOfStateTime; + this.changeOfStateCount = changeOfStateCount; + this.timeOfStateCountReset = timeOfStateCountReset; + this.elapsedActiveTime = elapsedActiveTime; + this.timeOfActiveTimeReset = timeOfActiveTimeReset; + this.minimumOffTime = minimumOffTime; + this.minimumOnTime = minimumOnTime; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.alarmValue = alarmValue; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getInactiveText() { + return inactiveText; + } + + public OptionalProperty getActiveText() { + return activeText; + } + + public OptionalProperty getChangeOfStateTime() { + return changeOfStateTime; + } + + public OptionalProperty getChangeOfStateCount() { + return changeOfStateCount; + } + + public OptionalProperty getTimeOfStateCountReset() { + return timeOfStateCountReset; + } + + public OptionalProperty getElapsedActiveTime() { + return elapsedActiveTime; + } + + public OptionalProperty getTimeOfActiveTimeReset() { + return timeOfActiveTimeReset; + } + + public OptionalProperty getMinimumOffTime() { + return minimumOffTime; + } + + public OptionalProperty getMinimumOnTime() { + return minimumOnTime; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getAlarmValue() { + return alarmValue; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("BinaryValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (inactiveText) + writeSimpleField("inactiveText", inactiveText, writeComplex(writeBuffer)); + + // Simple Field (activeText) + writeSimpleField("activeText", activeText, writeComplex(writeBuffer)); + + // Simple Field (changeOfStateTime) + writeSimpleField("changeOfStateTime", changeOfStateTime, writeComplex(writeBuffer)); + + // Simple Field (changeOfStateCount) + writeSimpleField("changeOfStateCount", changeOfStateCount, writeComplex(writeBuffer)); + + // Simple Field (timeOfStateCountReset) + writeSimpleField("timeOfStateCountReset", timeOfStateCountReset, writeComplex(writeBuffer)); + + // Simple Field (elapsedActiveTime) + writeSimpleField("elapsedActiveTime", elapsedActiveTime, writeComplex(writeBuffer)); + + // Simple Field (timeOfActiveTimeReset) + writeSimpleField("timeOfActiveTimeReset", timeOfActiveTimeReset, writeComplex(writeBuffer)); + + // Simple Field (minimumOffTime) + writeSimpleField("minimumOffTime", minimumOffTime, writeComplex(writeBuffer)); + + // Simple Field (minimumOnTime) + writeSimpleField("minimumOnTime", minimumOnTime, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (alarmValue) + writeSimpleField("alarmValue", alarmValue, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("BinaryValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + BinaryValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (inactiveText) + lengthInBits += inactiveText.getLengthInBits(); + + // Simple field (activeText) + lengthInBits += activeText.getLengthInBits(); + + // Simple field (changeOfStateTime) + lengthInBits += changeOfStateTime.getLengthInBits(); + + // Simple field (changeOfStateCount) + lengthInBits += changeOfStateCount.getLengthInBits(); + + // Simple field (timeOfStateCountReset) + lengthInBits += timeOfStateCountReset.getLengthInBits(); + + // Simple field (elapsedActiveTime) + lengthInBits += elapsedActiveTime.getLengthInBits(); + + // Simple field (timeOfActiveTimeReset) + lengthInBits += timeOfActiveTimeReset.getLengthInBits(); + + // Simple field (minimumOffTime) + lengthInBits += minimumOffTime.getLengthInBits(); + + // Simple field (minimumOnTime) + lengthInBits += minimumOnTime.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (alarmValue) + lengthInBits += alarmValue.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static BinaryValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("BinaryValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetBinaryPV")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty inactiveText = + readSimpleField( + "inactiveText", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty activeText = + readSimpleField( + "activeText", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty changeOfStateTime = + readSimpleField( + "changeOfStateTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty changeOfStateCount = + readSimpleField( + "changeOfStateCount", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeOfStateCountReset = + readSimpleField( + "timeOfStateCountReset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty elapsedActiveTime = + readSimpleField( + "elapsedActiveTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty timeOfActiveTimeReset = + readSimpleField( + "timeOfActiveTimeReset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty minimumOffTime = + readSimpleField( + "minimumOffTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty minimumOnTime = + readSimpleField( + "minimumOnTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetBinaryPV")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alarmValue = + readSimpleField( + "alarmValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetBinaryPV")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("BinaryValue"); + // Create the instance + BinaryValue _binaryValue; + _binaryValue = + new BinaryValue( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + statusFlags, + eventState, + reliability, + outOfService, + inactiveText, + activeText, + changeOfStateTime, + changeOfStateCount, + timeOfStateCountReset, + elapsedActiveTime, + timeOfActiveTimeReset, + minimumOffTime, + minimumOnTime, + priorityArray, + relinquishDefault, + timeDelay, + notificationClass, + alarmValue, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _binaryValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BinaryValue)) { + return false; + } + BinaryValue that = (BinaryValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getInactiveText() == that.getInactiveText()) + && (getActiveText() == that.getActiveText()) + && (getChangeOfStateTime() == that.getChangeOfStateTime()) + && (getChangeOfStateCount() == that.getChangeOfStateCount()) + && (getTimeOfStateCountReset() == that.getTimeOfStateCountReset()) + && (getElapsedActiveTime() == that.getElapsedActiveTime()) + && (getTimeOfActiveTimeReset() == that.getTimeOfActiveTimeReset()) + && (getMinimumOffTime() == that.getMinimumOffTime()) + && (getMinimumOnTime() == that.getMinimumOnTime()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getAlarmValue() == that.getAlarmValue()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getInactiveText(), + getActiveText(), + getChangeOfStateTime(), + getChangeOfStateCount(), + getTimeOfStateCountReset(), + getElapsedActiveTime(), + getTimeOfActiveTimeReset(), + getMinimumOffTime(), + getMinimumOnTime(), + getPriorityArray(), + getRelinquishDefault(), + getTimeDelay(), + getNotificationClass(), + getAlarmValue(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BitStringValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BitStringValue.java new file mode 100644 index 00000000000..da9e4c1cfe4 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/BitStringValue.java @@ -0,0 +1,955 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class BitStringValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final OptionalProperty bitText; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty alarmValues; + protected final OptionalProperty bitMask; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public BitStringValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + OptionalProperty bitText, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty alarmValues, + OptionalProperty bitMask, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.bitText = bitText; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.alarmValues = alarmValues; + this.bitMask = bitMask; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getBitText() { + return bitText; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getAlarmValues() { + return alarmValues; + } + + public OptionalProperty getBitMask() { + return bitMask; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("BitStringValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (bitText) + writeSimpleField("bitText", bitText, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (alarmValues) + writeSimpleField("alarmValues", alarmValues, writeComplex(writeBuffer)); + + // Simple Field (bitMask) + writeSimpleField("bitMask", bitMask, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("BitStringValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + BitStringValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (bitText) + lengthInBits += bitText.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (alarmValues) + lengthInBits += alarmValues.getLengthInBits(); + + // Simple field (bitMask) + lengthInBits += bitMask.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static BitStringValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("BitStringValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BIT STRING")), + readBuffer)); + + OptionalProperty bitText = + readSimpleField( + "bitText", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BIT STRING")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alarmValues = + readSimpleField( + "alarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BIT STRING")), + readBuffer)); + + OptionalProperty bitMask = + readSimpleField( + "bitMask", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BIT STRING")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("BitStringValue"); + // Create the instance + BitStringValue _bitStringValue; + _bitStringValue = + new BitStringValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + bitText, + statusFlags, + eventState, + reliability, + outOfService, + priorityArray, + relinquishDefault, + timeDelay, + notificationClass, + alarmValues, + bitMask, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _bitStringValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof BitStringValue)) { + return false; + } + BitStringValue that = (BitStringValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getBitText() == that.getBitText()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getAlarmValues() == that.getAlarmValues()) + && (getBitMask() == that.getBitMask()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getBitText(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPriorityArray(), + getRelinquishDefault(), + getTimeDelay(), + getNotificationClass(), + getAlarmValues(), + getBitMask(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Calendar.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Calendar.java new file mode 100644 index 00000000000..2f4ef9d6100 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Calendar.java @@ -0,0 +1,343 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Calendar implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty dateList; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Calendar( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty dateList, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.dateList = dateList; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getDateList() { + return dateList; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Calendar"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (dateList) + writeSimpleField("dateList", dateList, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Calendar"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Calendar _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (dateList) + lengthInBits += dateList.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Calendar staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Calendar"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty dateList = + readSimpleField( + "dateList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetCalendarEntry")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Calendar"); + // Create the instance + Calendar _calendar; + _calendar = + new Calendar( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + dateList, + propertyList, + tags, + profileLocation, + profileName); + return _calendar; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Calendar)) { + return false; + } + Calendar that = (Calendar) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getDateList() == that.getDateList()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getDateList(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Channel.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Channel.java new file mode 100644 index 00000000000..9bf12d749fd --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Channel.java @@ -0,0 +1,817 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Channel implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final WritableProperty presentValue; + protected final ReadableProperty lastPriority; + protected final ReadableProperty writeStatus; + protected final ReadableProperty statusFlags; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final WritableProperty listOfObjectPropertyReferences; + protected final OptionalProperty executionDelay; + protected final OptionalProperty allowGroupDelayInhibit; + protected final WritableProperty channelNumber; + protected final WritableProperty controlGroups; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty eventState; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty valueSource; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Channel( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + WritableProperty presentValue, + ReadableProperty lastPriority, + ReadableProperty writeStatus, + ReadableProperty statusFlags, + OptionalProperty reliability, + ReadableProperty outOfService, + WritableProperty listOfObjectPropertyReferences, + OptionalProperty executionDelay, + OptionalProperty allowGroupDelayInhibit, + WritableProperty channelNumber, + WritableProperty controlGroups, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty eventState, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty valueSource, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.lastPriority = lastPriority; + this.writeStatus = writeStatus; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.outOfService = outOfService; + this.listOfObjectPropertyReferences = listOfObjectPropertyReferences; + this.executionDelay = executionDelay; + this.allowGroupDelayInhibit = allowGroupDelayInhibit; + this.channelNumber = channelNumber; + this.controlGroups = controlGroups; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.eventState = eventState; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.valueSource = valueSource; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public WritableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getLastPriority() { + return lastPriority; + } + + public ReadableProperty getWriteStatus() { + return writeStatus; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public WritableProperty getListOfObjectPropertyReferences() { + return listOfObjectPropertyReferences; + } + + public OptionalProperty getExecutionDelay() { + return executionDelay; + } + + public OptionalProperty getAllowGroupDelayInhibit() { + return allowGroupDelayInhibit; + } + + public WritableProperty getChannelNumber() { + return channelNumber; + } + + public WritableProperty getControlGroups() { + return controlGroups; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Channel"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (lastPriority) + writeSimpleField("lastPriority", lastPriority, writeComplex(writeBuffer)); + + // Simple Field (writeStatus) + writeSimpleField("writeStatus", writeStatus, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (listOfObjectPropertyReferences) + writeSimpleField( + "listOfObjectPropertyReferences", + listOfObjectPropertyReferences, + writeComplex(writeBuffer)); + + // Simple Field (executionDelay) + writeSimpleField("executionDelay", executionDelay, writeComplex(writeBuffer)); + + // Simple Field (allowGroupDelayInhibit) + writeSimpleField("allowGroupDelayInhibit", allowGroupDelayInhibit, writeComplex(writeBuffer)); + + // Simple Field (channelNumber) + writeSimpleField("channelNumber", channelNumber, writeComplex(writeBuffer)); + + // Simple Field (controlGroups) + writeSimpleField("controlGroups", controlGroups, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Channel"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Channel _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (lastPriority) + lengthInBits += lastPriority.getLengthInBits(); + + // Simple field (writeStatus) + lengthInBits += writeStatus.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (listOfObjectPropertyReferences) + lengthInBits += listOfObjectPropertyReferences.getLengthInBits(); + + // Simple field (executionDelay) + lengthInBits += executionDelay.getLengthInBits(); + + // Simple field (allowGroupDelayInhibit) + lengthInBits += allowGroupDelayInhibit.getLengthInBits(); + + // Simple field (channelNumber) + lengthInBits += channelNumber.getLengthInBits(); + + // Simple field (controlGroups) + lengthInBits += controlGroups.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Channel staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Channel"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + WritableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetChannelValue")), + readBuffer)); + + ReadableProperty lastPriority = + readSimpleField( + "lastPriority", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty writeStatus = + readSimpleField( + "writeStatus", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetWriteStatus")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + WritableProperty listOfObjectPropertyReferences = + readSimpleField( + "listOfObjectPropertyReferences", + readComplex( + () -> + WritableProperty.staticParse( + readBuffer, + (String) ("BACnetARRAY[N] of BACnetDeviceObjectPropertyReference")), + readBuffer)); + + OptionalProperty executionDelay = + readSimpleField( + "executionDelay", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of Unsigned")), + readBuffer)); + + OptionalProperty allowGroupDelayInhibit = + readSimpleField( + "allowGroupDelayInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + WritableProperty channelNumber = + readSimpleField( + "channelNumber", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + WritableProperty controlGroups = + readSimpleField( + "controlGroups", + readComplex( + () -> + WritableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of Unsigned32")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Channel"); + // Create the instance + Channel _channel; + _channel = + new Channel( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + lastPriority, + writeStatus, + statusFlags, + reliability, + outOfService, + listOfObjectPropertyReferences, + executionDelay, + allowGroupDelayInhibit, + channelNumber, + controlGroups, + eventDetectionEnable, + notificationClass, + eventEnable, + eventState, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + reliabilityEvaluationInhibit, + propertyList, + valueSource, + tags, + profileLocation, + profileName); + return _channel; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Channel)) { + return false; + } + Channel that = (Channel) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getLastPriority() == that.getLastPriority()) + && (getWriteStatus() == that.getWriteStatus()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getListOfObjectPropertyReferences() == that.getListOfObjectPropertyReferences()) + && (getExecutionDelay() == that.getExecutionDelay()) + && (getAllowGroupDelayInhibit() == that.getAllowGroupDelayInhibit()) + && (getChannelNumber() == that.getChannelNumber()) + && (getControlGroups() == that.getControlGroups()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getEventState() == that.getEventState()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getValueSource() == that.getValueSource()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getLastPriority(), + getWriteStatus(), + getStatusFlags(), + getReliability(), + getOutOfService(), + getListOfObjectPropertyReferences(), + getExecutionDelay(), + getAllowGroupDelayInhibit(), + getChannelNumber(), + getControlGroups(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getEventState(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getValueSource(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/CharacterStringValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/CharacterStringValue.java new file mode 100644 index 00000000000..4a11ae2b84b --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/CharacterStringValue.java @@ -0,0 +1,932 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class CharacterStringValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty alarmValues; + protected final OptionalProperty faultValues; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public CharacterStringValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty alarmValues, + OptionalProperty faultValues, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.alarmValues = alarmValues; + this.faultValues = faultValues; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getAlarmValues() { + return alarmValues; + } + + public OptionalProperty getFaultValues() { + return faultValues; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("CharacterStringValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (alarmValues) + writeSimpleField("alarmValues", alarmValues, writeComplex(writeBuffer)); + + // Simple Field (faultValues) + writeSimpleField("faultValues", faultValues, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("CharacterStringValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + CharacterStringValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (alarmValues) + lengthInBits += alarmValues.getLengthInBits(); + + // Simple field (faultValues) + lengthInBits += faultValues.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static CharacterStringValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("CharacterStringValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alarmValues = + readSimpleField( + "alarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetOptionalCharacterString")), + readBuffer)); + + OptionalProperty faultValues = + readSimpleField( + "faultValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetOptionalCharacterString")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("CharacterStringValue"); + // Create the instance + CharacterStringValue _characterStringValue; + _characterStringValue = + new CharacterStringValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + priorityArray, + relinquishDefault, + timeDelay, + notificationClass, + alarmValues, + faultValues, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _characterStringValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CharacterStringValue)) { + return false; + } + CharacterStringValue that = (CharacterStringValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getAlarmValues() == that.getAlarmValues()) + && (getFaultValues() == that.getFaultValues()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPriorityArray(), + getRelinquishDefault(), + getTimeDelay(), + getNotificationClass(), + getAlarmValues(), + getFaultValues(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Command.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Command.java new file mode 100644 index 00000000000..a10a540ac64 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Command.java @@ -0,0 +1,719 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Command implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final WritableProperty presentValue; + protected final ReadableProperty inProcess; + protected final ReadableProperty allWritesSuccessful; + protected final ReadableProperty action; + protected final OptionalProperty actionText; + protected final ReadableProperty propertyList; + protected final OptionalProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final OptionalProperty valueSource; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Command( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + WritableProperty presentValue, + ReadableProperty inProcess, + ReadableProperty allWritesSuccessful, + ReadableProperty action, + OptionalProperty actionText, + ReadableProperty propertyList, + OptionalProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty reliabilityEvaluationInhibit, + OptionalProperty valueSource, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.inProcess = inProcess; + this.allWritesSuccessful = allWritesSuccessful; + this.action = action; + this.actionText = actionText; + this.propertyList = propertyList; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.valueSource = valueSource; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public WritableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getInProcess() { + return inProcess; + } + + public ReadableProperty getAllWritesSuccessful() { + return allWritesSuccessful; + } + + public ReadableProperty getAction() { + return action; + } + + public OptionalProperty getActionText() { + return actionText; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Command"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (inProcess) + writeSimpleField("inProcess", inProcess, writeComplex(writeBuffer)); + + // Simple Field (allWritesSuccessful) + writeSimpleField("allWritesSuccessful", allWritesSuccessful, writeComplex(writeBuffer)); + + // Simple Field (action) + writeSimpleField("action", action, writeComplex(writeBuffer)); + + // Simple Field (actionText) + writeSimpleField("actionText", actionText, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Command"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Command _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (inProcess) + lengthInBits += inProcess.getLengthInBits(); + + // Simple field (allWritesSuccessful) + lengthInBits += allWritesSuccessful.getLengthInBits(); + + // Simple field (action) + lengthInBits += action.getLengthInBits(); + + // Simple field (actionText) + lengthInBits += actionText.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Command staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Command"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + WritableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty inProcess = + readSimpleField( + "inProcess", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty allWritesSuccessful = + readSimpleField( + "allWritesSuccessful", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty action = + readSimpleField( + "action", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetActionList")), + readBuffer)); + + OptionalProperty actionText = + readSimpleField( + "actionText", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Command"); + // Create the instance + Command _command; + _command = + new Command( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + inProcess, + allWritesSuccessful, + action, + actionText, + propertyList, + statusFlags, + eventState, + reliability, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + reliabilityEvaluationInhibit, + valueSource, + tags, + profileLocation, + profileName); + return _command; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Command)) { + return false; + } + Command that = (Command) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getInProcess() == that.getInProcess()) + && (getAllWritesSuccessful() == that.getAllWritesSuccessful()) + && (getAction() == that.getAction()) + && (getActionText() == that.getActionText()) + && (getPropertyList() == that.getPropertyList()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getValueSource() == that.getValueSource()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getInProcess(), + getAllWritesSuccessful(), + getAction(), + getActionText(), + getPropertyList(), + getStatusFlags(), + getEventState(), + getReliability(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getReliabilityEvaluationInhibit(), + getValueSource(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/CredentialDataInput.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/CredentialDataInput.java new file mode 100644 index 00000000000..b8e1a31a193 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/CredentialDataInput.java @@ -0,0 +1,701 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class CredentialDataInput implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty supportedFormats; + protected final OptionalProperty supportedFormatClasses; + protected final ReadableProperty updateTime; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty eventState; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public CredentialDataInput( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty reliability, + ReadableProperty outOfService, + ReadableProperty supportedFormats, + OptionalProperty supportedFormatClasses, + ReadableProperty updateTime, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty eventState, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.outOfService = outOfService; + this.supportedFormats = supportedFormats; + this.supportedFormatClasses = supportedFormatClasses; + this.updateTime = updateTime; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.eventState = eventState; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getSupportedFormats() { + return supportedFormats; + } + + public OptionalProperty getSupportedFormatClasses() { + return supportedFormatClasses; + } + + public ReadableProperty getUpdateTime() { + return updateTime; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("CredentialDataInput"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (supportedFormats) + writeSimpleField("supportedFormats", supportedFormats, writeComplex(writeBuffer)); + + // Simple Field (supportedFormatClasses) + writeSimpleField("supportedFormatClasses", supportedFormatClasses, writeComplex(writeBuffer)); + + // Simple Field (updateTime) + writeSimpleField("updateTime", updateTime, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("CredentialDataInput"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + CredentialDataInput _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (supportedFormats) + lengthInBits += supportedFormats.getLengthInBits(); + + // Simple field (supportedFormatClasses) + lengthInBits += supportedFormatClasses.getLengthInBits(); + + // Simple field (updateTime) + lengthInBits += updateTime.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static CredentialDataInput staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("CredentialDataInput"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetAuthenticationFactor")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty supportedFormats = + readSimpleField( + "supportedFormats", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, + (String) ("BACnetARRAY[N] of BACnetAuthenticationFactorFormat")), + readBuffer)); + + OptionalProperty supportedFormatClasses = + readSimpleField( + "supportedFormatClasses", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of Unsigned")), + readBuffer)); + + ReadableProperty updateTime = + readSimpleField( + "updateTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("CredentialDataInput"); + // Create the instance + CredentialDataInput _credentialDataInput; + _credentialDataInput = + new CredentialDataInput( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + statusFlags, + reliability, + outOfService, + supportedFormats, + supportedFormatClasses, + updateTime, + eventDetectionEnable, + notificationClass, + eventEnable, + eventState, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _credentialDataInput; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof CredentialDataInput)) { + return false; + } + CredentialDataInput that = (CredentialDataInput) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getSupportedFormats() == that.getSupportedFormats()) + && (getSupportedFormatClasses() == that.getSupportedFormatClasses()) + && (getUpdateTime() == that.getUpdateTime()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getEventState() == that.getEventState()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getStatusFlags(), + getReliability(), + getOutOfService(), + getSupportedFormats(), + getSupportedFormatClasses(), + getUpdateTime(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getEventState(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DatePatternValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DatePatternValue.java new file mode 100644 index 00000000000..aafb559757f --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DatePatternValue.java @@ -0,0 +1,788 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class DatePatternValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public DatePatternValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("DatePatternValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("DatePatternValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + DatePatternValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static DatePatternValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("DatePatternValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Date")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Date")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("DatePatternValue"); + // Create the instance + DatePatternValue _datePatternValue; + _datePatternValue = + new DatePatternValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + priorityArray, + relinquishDefault, + reliabilityEvaluationInhibit, + propertyList, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _datePatternValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DatePatternValue)) { + return false; + } + DatePatternValue that = (DatePatternValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPriorityArray(), + getRelinquishDefault(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DateTimePatternValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DateTimePatternValue.java new file mode 100644 index 00000000000..8b273152d30 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DateTimePatternValue.java @@ -0,0 +1,812 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class DateTimePatternValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final OptionalProperty isUTC; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public DateTimePatternValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + OptionalProperty isUTC, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.isUTC = isUTC; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getIsUTC() { + return isUTC; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("DateTimePatternValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (isUTC) + writeSimpleField("isUTC", isUTC, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("DateTimePatternValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + DateTimePatternValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (isUTC) + lengthInBits += isUTC.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static DateTimePatternValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("DateTimePatternValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty isUTC = + readSimpleField( + "isUTC", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("DateTimePatternValue"); + // Create the instance + DateTimePatternValue _dateTimePatternValue; + _dateTimePatternValue = + new DateTimePatternValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + isUTC, + priorityArray, + relinquishDefault, + reliabilityEvaluationInhibit, + propertyList, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _dateTimePatternValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DateTimePatternValue)) { + return false; + } + DateTimePatternValue that = (DateTimePatternValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getIsUTC() == that.getIsUTC()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getIsUTC(), + getPriorityArray(), + getRelinquishDefault(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DateTimeValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DateTimeValue.java new file mode 100644 index 00000000000..8885cacb09f --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DateTimeValue.java @@ -0,0 +1,812 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class DateTimeValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty isUTC; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public DateTimeValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty isUTC, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.isUTC = isUTC; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getIsUTC() { + return isUTC; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("DateTimeValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (isUTC) + writeSimpleField("isUTC", isUTC, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("DateTimeValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + DateTimeValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (isUTC) + lengthInBits += isUTC.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static DateTimeValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("DateTimeValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty isUTC = + readSimpleField( + "isUTC", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("DateTimeValue"); + // Create the instance + DateTimeValue _dateTimeValue; + _dateTimeValue = + new DateTimeValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + priorityArray, + relinquishDefault, + isUTC, + reliabilityEvaluationInhibit, + propertyList, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _dateTimeValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DateTimeValue)) { + return false; + } + DateTimeValue that = (DateTimeValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getIsUTC() == that.getIsUTC()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPriorityArray(), + getRelinquishDefault(), + getIsUTC(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DateValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DateValue.java new file mode 100644 index 00000000000..0172478aea8 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/DateValue.java @@ -0,0 +1,788 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class DateValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public DateValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("DateValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("DateValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + DateValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static DateValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("DateValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Date")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Date")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("DateValue"); + // Create the instance + DateValue _dateValue; + _dateValue = + new DateValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + priorityArray, + relinquishDefault, + reliabilityEvaluationInhibit, + propertyList, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _dateValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof DateValue)) { + return false; + } + DateValue that = (DateValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPriorityArray(), + getRelinquishDefault(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Device.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Device.java new file mode 100644 index 00000000000..f6036941d95 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Device.java @@ -0,0 +1,1705 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Device implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty systemStatus; + protected final ReadableProperty vendorName; + protected final ReadableProperty vendorIdentifier; + protected final ReadableProperty modelName; + protected final ReadableProperty firmwareRevision; + protected final ReadableProperty applicationSoftwareVersion; + protected final OptionalProperty location; + protected final OptionalProperty description; + protected final ReadableProperty protocolVersion; + protected final ReadableProperty protocolRevision; + protected final ReadableProperty protocolServicesSupported; + protected final ReadableProperty protocolObjectTypesSupported; + protected final ReadableProperty objectList; + protected final OptionalProperty structuredObjectList; + protected final ReadableProperty maxAPDULengthAccepted; + protected final ReadableProperty segmentationSupported; + protected final OptionalProperty maxSegmentsAccepted; + protected final OptionalProperty vTClassesSupported; + protected final OptionalProperty activeVTSessions; + protected final OptionalProperty localTime; + protected final OptionalProperty localDate; + protected final OptionalProperty uTCOffset; + protected final OptionalProperty daylightSavingsStatus; + protected final OptionalProperty aPDUSegmentTimeout; + protected final ReadableProperty aPDUTimeout; + protected final ReadableProperty numberOfAPDURetries; + protected final OptionalProperty timeSynchronizationRecipients; + protected final OptionalProperty maxMaster; + protected final OptionalProperty maxInfoFrames; + protected final ReadableProperty deviceAddressBinding; + protected final ReadableProperty databaseRevision; + protected final OptionalProperty configurationFiles; + protected final OptionalProperty lastRestoreTime; + protected final OptionalProperty backupFailureTimeout; + protected final OptionalProperty backupPreparationTime; + protected final OptionalProperty restorePreparationTime; + protected final OptionalProperty restoreCompletionTime; + protected final OptionalProperty backupAndRestoreState; + protected final OptionalProperty activeCOVSubscriptions; + protected final OptionalProperty lastRestartReason; + protected final OptionalProperty timeOfDeviceRestart; + protected final OptionalProperty restartNotificationRecipients; + protected final OptionalProperty uTCTimeSynchronizationRecipients; + protected final OptionalProperty timeSynchronizationInterval; + protected final OptionalProperty alignIntervals; + protected final OptionalProperty intervalOffset; + protected final OptionalProperty serialNumber; + protected final ReadableProperty propertyList; + protected final OptionalProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final OptionalProperty activeCOVMultipleSubscriptions; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty deployedProfileLocation; + protected final OptionalProperty profileName; + + public Device( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty systemStatus, + ReadableProperty vendorName, + ReadableProperty vendorIdentifier, + ReadableProperty modelName, + ReadableProperty firmwareRevision, + ReadableProperty applicationSoftwareVersion, + OptionalProperty location, + OptionalProperty description, + ReadableProperty protocolVersion, + ReadableProperty protocolRevision, + ReadableProperty protocolServicesSupported, + ReadableProperty protocolObjectTypesSupported, + ReadableProperty objectList, + OptionalProperty structuredObjectList, + ReadableProperty maxAPDULengthAccepted, + ReadableProperty segmentationSupported, + OptionalProperty maxSegmentsAccepted, + OptionalProperty vTClassesSupported, + OptionalProperty activeVTSessions, + OptionalProperty localTime, + OptionalProperty localDate, + OptionalProperty uTCOffset, + OptionalProperty daylightSavingsStatus, + OptionalProperty aPDUSegmentTimeout, + ReadableProperty aPDUTimeout, + ReadableProperty numberOfAPDURetries, + OptionalProperty timeSynchronizationRecipients, + OptionalProperty maxMaster, + OptionalProperty maxInfoFrames, + ReadableProperty deviceAddressBinding, + ReadableProperty databaseRevision, + OptionalProperty configurationFiles, + OptionalProperty lastRestoreTime, + OptionalProperty backupFailureTimeout, + OptionalProperty backupPreparationTime, + OptionalProperty restorePreparationTime, + OptionalProperty restoreCompletionTime, + OptionalProperty backupAndRestoreState, + OptionalProperty activeCOVSubscriptions, + OptionalProperty lastRestartReason, + OptionalProperty timeOfDeviceRestart, + OptionalProperty restartNotificationRecipients, + OptionalProperty uTCTimeSynchronizationRecipients, + OptionalProperty timeSynchronizationInterval, + OptionalProperty alignIntervals, + OptionalProperty intervalOffset, + OptionalProperty serialNumber, + ReadableProperty propertyList, + OptionalProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty reliabilityEvaluationInhibit, + OptionalProperty activeCOVMultipleSubscriptions, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty deployedProfileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.systemStatus = systemStatus; + this.vendorName = vendorName; + this.vendorIdentifier = vendorIdentifier; + this.modelName = modelName; + this.firmwareRevision = firmwareRevision; + this.applicationSoftwareVersion = applicationSoftwareVersion; + this.location = location; + this.description = description; + this.protocolVersion = protocolVersion; + this.protocolRevision = protocolRevision; + this.protocolServicesSupported = protocolServicesSupported; + this.protocolObjectTypesSupported = protocolObjectTypesSupported; + this.objectList = objectList; + this.structuredObjectList = structuredObjectList; + this.maxAPDULengthAccepted = maxAPDULengthAccepted; + this.segmentationSupported = segmentationSupported; + this.maxSegmentsAccepted = maxSegmentsAccepted; + this.vTClassesSupported = vTClassesSupported; + this.activeVTSessions = activeVTSessions; + this.localTime = localTime; + this.localDate = localDate; + this.uTCOffset = uTCOffset; + this.daylightSavingsStatus = daylightSavingsStatus; + this.aPDUSegmentTimeout = aPDUSegmentTimeout; + this.aPDUTimeout = aPDUTimeout; + this.numberOfAPDURetries = numberOfAPDURetries; + this.timeSynchronizationRecipients = timeSynchronizationRecipients; + this.maxMaster = maxMaster; + this.maxInfoFrames = maxInfoFrames; + this.deviceAddressBinding = deviceAddressBinding; + this.databaseRevision = databaseRevision; + this.configurationFiles = configurationFiles; + this.lastRestoreTime = lastRestoreTime; + this.backupFailureTimeout = backupFailureTimeout; + this.backupPreparationTime = backupPreparationTime; + this.restorePreparationTime = restorePreparationTime; + this.restoreCompletionTime = restoreCompletionTime; + this.backupAndRestoreState = backupAndRestoreState; + this.activeCOVSubscriptions = activeCOVSubscriptions; + this.lastRestartReason = lastRestartReason; + this.timeOfDeviceRestart = timeOfDeviceRestart; + this.restartNotificationRecipients = restartNotificationRecipients; + this.uTCTimeSynchronizationRecipients = uTCTimeSynchronizationRecipients; + this.timeSynchronizationInterval = timeSynchronizationInterval; + this.alignIntervals = alignIntervals; + this.intervalOffset = intervalOffset; + this.serialNumber = serialNumber; + this.propertyList = propertyList; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.activeCOVMultipleSubscriptions = activeCOVMultipleSubscriptions; + this.tags = tags; + this.profileLocation = profileLocation; + this.deployedProfileLocation = deployedProfileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getSystemStatus() { + return systemStatus; + } + + public ReadableProperty getVendorName() { + return vendorName; + } + + public ReadableProperty getVendorIdentifier() { + return vendorIdentifier; + } + + public ReadableProperty getModelName() { + return modelName; + } + + public ReadableProperty getFirmwareRevision() { + return firmwareRevision; + } + + public ReadableProperty getApplicationSoftwareVersion() { + return applicationSoftwareVersion; + } + + public OptionalProperty getLocation() { + return location; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getProtocolVersion() { + return protocolVersion; + } + + public ReadableProperty getProtocolRevision() { + return protocolRevision; + } + + public ReadableProperty getProtocolServicesSupported() { + return protocolServicesSupported; + } + + public ReadableProperty getProtocolObjectTypesSupported() { + return protocolObjectTypesSupported; + } + + public ReadableProperty getObjectList() { + return objectList; + } + + public OptionalProperty getStructuredObjectList() { + return structuredObjectList; + } + + public ReadableProperty getMaxAPDULengthAccepted() { + return maxAPDULengthAccepted; + } + + public ReadableProperty getSegmentationSupported() { + return segmentationSupported; + } + + public OptionalProperty getMaxSegmentsAccepted() { + return maxSegmentsAccepted; + } + + public OptionalProperty getVTClassesSupported() { + return vTClassesSupported; + } + + public OptionalProperty getActiveVTSessions() { + return activeVTSessions; + } + + public OptionalProperty getLocalTime() { + return localTime; + } + + public OptionalProperty getLocalDate() { + return localDate; + } + + public OptionalProperty getUTCOffset() { + return uTCOffset; + } + + public OptionalProperty getDaylightSavingsStatus() { + return daylightSavingsStatus; + } + + public OptionalProperty getAPDUSegmentTimeout() { + return aPDUSegmentTimeout; + } + + public ReadableProperty getAPDUTimeout() { + return aPDUTimeout; + } + + public ReadableProperty getNumberOfAPDURetries() { + return numberOfAPDURetries; + } + + public OptionalProperty getTimeSynchronizationRecipients() { + return timeSynchronizationRecipients; + } + + public OptionalProperty getMaxMaster() { + return maxMaster; + } + + public OptionalProperty getMaxInfoFrames() { + return maxInfoFrames; + } + + public ReadableProperty getDeviceAddressBinding() { + return deviceAddressBinding; + } + + public ReadableProperty getDatabaseRevision() { + return databaseRevision; + } + + public OptionalProperty getConfigurationFiles() { + return configurationFiles; + } + + public OptionalProperty getLastRestoreTime() { + return lastRestoreTime; + } + + public OptionalProperty getBackupFailureTimeout() { + return backupFailureTimeout; + } + + public OptionalProperty getBackupPreparationTime() { + return backupPreparationTime; + } + + public OptionalProperty getRestorePreparationTime() { + return restorePreparationTime; + } + + public OptionalProperty getRestoreCompletionTime() { + return restoreCompletionTime; + } + + public OptionalProperty getBackupAndRestoreState() { + return backupAndRestoreState; + } + + public OptionalProperty getActiveCOVSubscriptions() { + return activeCOVSubscriptions; + } + + public OptionalProperty getLastRestartReason() { + return lastRestartReason; + } + + public OptionalProperty getTimeOfDeviceRestart() { + return timeOfDeviceRestart; + } + + public OptionalProperty getRestartNotificationRecipients() { + return restartNotificationRecipients; + } + + public OptionalProperty getUTCTimeSynchronizationRecipients() { + return uTCTimeSynchronizationRecipients; + } + + public OptionalProperty getTimeSynchronizationInterval() { + return timeSynchronizationInterval; + } + + public OptionalProperty getAlignIntervals() { + return alignIntervals; + } + + public OptionalProperty getIntervalOffset() { + return intervalOffset; + } + + public OptionalProperty getSerialNumber() { + return serialNumber; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public OptionalProperty getActiveCOVMultipleSubscriptions() { + return activeCOVMultipleSubscriptions; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getDeployedProfileLocation() { + return deployedProfileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Device"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (systemStatus) + writeSimpleField("systemStatus", systemStatus, writeComplex(writeBuffer)); + + // Simple Field (vendorName) + writeSimpleField("vendorName", vendorName, writeComplex(writeBuffer)); + + // Simple Field (vendorIdentifier) + writeSimpleField("vendorIdentifier", vendorIdentifier, writeComplex(writeBuffer)); + + // Simple Field (modelName) + writeSimpleField("modelName", modelName, writeComplex(writeBuffer)); + + // Simple Field (firmwareRevision) + writeSimpleField("firmwareRevision", firmwareRevision, writeComplex(writeBuffer)); + + // Simple Field (applicationSoftwareVersion) + writeSimpleField( + "applicationSoftwareVersion", applicationSoftwareVersion, writeComplex(writeBuffer)); + + // Simple Field (location) + writeSimpleField("location", location, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (protocolVersion) + writeSimpleField("protocolVersion", protocolVersion, writeComplex(writeBuffer)); + + // Simple Field (protocolRevision) + writeSimpleField("protocolRevision", protocolRevision, writeComplex(writeBuffer)); + + // Simple Field (protocolServicesSupported) + writeSimpleField( + "protocolServicesSupported", protocolServicesSupported, writeComplex(writeBuffer)); + + // Simple Field (protocolObjectTypesSupported) + writeSimpleField( + "protocolObjectTypesSupported", protocolObjectTypesSupported, writeComplex(writeBuffer)); + + // Simple Field (objectList) + writeSimpleField("objectList", objectList, writeComplex(writeBuffer)); + + // Simple Field (structuredObjectList) + writeSimpleField("structuredObjectList", structuredObjectList, writeComplex(writeBuffer)); + + // Simple Field (maxAPDULengthAccepted) + writeSimpleField("maxAPDULengthAccepted", maxAPDULengthAccepted, writeComplex(writeBuffer)); + + // Simple Field (segmentationSupported) + writeSimpleField("segmentationSupported", segmentationSupported, writeComplex(writeBuffer)); + + // Simple Field (maxSegmentsAccepted) + writeSimpleField("maxSegmentsAccepted", maxSegmentsAccepted, writeComplex(writeBuffer)); + + // Simple Field (vTClassesSupported) + writeSimpleField("vTClassesSupported", vTClassesSupported, writeComplex(writeBuffer)); + + // Simple Field (activeVTSessions) + writeSimpleField("activeVTSessions", activeVTSessions, writeComplex(writeBuffer)); + + // Simple Field (localTime) + writeSimpleField("localTime", localTime, writeComplex(writeBuffer)); + + // Simple Field (localDate) + writeSimpleField("localDate", localDate, writeComplex(writeBuffer)); + + // Simple Field (uTCOffset) + writeSimpleField("uTCOffset", uTCOffset, writeComplex(writeBuffer)); + + // Simple Field (daylightSavingsStatus) + writeSimpleField("daylightSavingsStatus", daylightSavingsStatus, writeComplex(writeBuffer)); + + // Simple Field (aPDUSegmentTimeout) + writeSimpleField("aPDUSegmentTimeout", aPDUSegmentTimeout, writeComplex(writeBuffer)); + + // Simple Field (aPDUTimeout) + writeSimpleField("aPDUTimeout", aPDUTimeout, writeComplex(writeBuffer)); + + // Simple Field (numberOfAPDURetries) + writeSimpleField("numberOfAPDURetries", numberOfAPDURetries, writeComplex(writeBuffer)); + + // Simple Field (timeSynchronizationRecipients) + writeSimpleField( + "timeSynchronizationRecipients", timeSynchronizationRecipients, writeComplex(writeBuffer)); + + // Simple Field (maxMaster) + writeSimpleField("maxMaster", maxMaster, writeComplex(writeBuffer)); + + // Simple Field (maxInfoFrames) + writeSimpleField("maxInfoFrames", maxInfoFrames, writeComplex(writeBuffer)); + + // Simple Field (deviceAddressBinding) + writeSimpleField("deviceAddressBinding", deviceAddressBinding, writeComplex(writeBuffer)); + + // Simple Field (databaseRevision) + writeSimpleField("databaseRevision", databaseRevision, writeComplex(writeBuffer)); + + // Simple Field (configurationFiles) + writeSimpleField("configurationFiles", configurationFiles, writeComplex(writeBuffer)); + + // Simple Field (lastRestoreTime) + writeSimpleField("lastRestoreTime", lastRestoreTime, writeComplex(writeBuffer)); + + // Simple Field (backupFailureTimeout) + writeSimpleField("backupFailureTimeout", backupFailureTimeout, writeComplex(writeBuffer)); + + // Simple Field (backupPreparationTime) + writeSimpleField("backupPreparationTime", backupPreparationTime, writeComplex(writeBuffer)); + + // Simple Field (restorePreparationTime) + writeSimpleField("restorePreparationTime", restorePreparationTime, writeComplex(writeBuffer)); + + // Simple Field (restoreCompletionTime) + writeSimpleField("restoreCompletionTime", restoreCompletionTime, writeComplex(writeBuffer)); + + // Simple Field (backupAndRestoreState) + writeSimpleField("backupAndRestoreState", backupAndRestoreState, writeComplex(writeBuffer)); + + // Simple Field (activeCOVSubscriptions) + writeSimpleField("activeCOVSubscriptions", activeCOVSubscriptions, writeComplex(writeBuffer)); + + // Simple Field (lastRestartReason) + writeSimpleField("lastRestartReason", lastRestartReason, writeComplex(writeBuffer)); + + // Simple Field (timeOfDeviceRestart) + writeSimpleField("timeOfDeviceRestart", timeOfDeviceRestart, writeComplex(writeBuffer)); + + // Simple Field (restartNotificationRecipients) + writeSimpleField( + "restartNotificationRecipients", restartNotificationRecipients, writeComplex(writeBuffer)); + + // Simple Field (uTCTimeSynchronizationRecipients) + writeSimpleField( + "uTCTimeSynchronizationRecipients", + uTCTimeSynchronizationRecipients, + writeComplex(writeBuffer)); + + // Simple Field (timeSynchronizationInterval) + writeSimpleField( + "timeSynchronizationInterval", timeSynchronizationInterval, writeComplex(writeBuffer)); + + // Simple Field (alignIntervals) + writeSimpleField("alignIntervals", alignIntervals, writeComplex(writeBuffer)); + + // Simple Field (intervalOffset) + writeSimpleField("intervalOffset", intervalOffset, writeComplex(writeBuffer)); + + // Simple Field (serialNumber) + writeSimpleField("serialNumber", serialNumber, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (activeCOVMultipleSubscriptions) + writeSimpleField( + "activeCOVMultipleSubscriptions", + activeCOVMultipleSubscriptions, + writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (deployedProfileLocation) + writeSimpleField("deployedProfileLocation", deployedProfileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Device"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Device _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (systemStatus) + lengthInBits += systemStatus.getLengthInBits(); + + // Simple field (vendorName) + lengthInBits += vendorName.getLengthInBits(); + + // Simple field (vendorIdentifier) + lengthInBits += vendorIdentifier.getLengthInBits(); + + // Simple field (modelName) + lengthInBits += modelName.getLengthInBits(); + + // Simple field (firmwareRevision) + lengthInBits += firmwareRevision.getLengthInBits(); + + // Simple field (applicationSoftwareVersion) + lengthInBits += applicationSoftwareVersion.getLengthInBits(); + + // Simple field (location) + lengthInBits += location.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (protocolVersion) + lengthInBits += protocolVersion.getLengthInBits(); + + // Simple field (protocolRevision) + lengthInBits += protocolRevision.getLengthInBits(); + + // Simple field (protocolServicesSupported) + lengthInBits += protocolServicesSupported.getLengthInBits(); + + // Simple field (protocolObjectTypesSupported) + lengthInBits += protocolObjectTypesSupported.getLengthInBits(); + + // Simple field (objectList) + lengthInBits += objectList.getLengthInBits(); + + // Simple field (structuredObjectList) + lengthInBits += structuredObjectList.getLengthInBits(); + + // Simple field (maxAPDULengthAccepted) + lengthInBits += maxAPDULengthAccepted.getLengthInBits(); + + // Simple field (segmentationSupported) + lengthInBits += segmentationSupported.getLengthInBits(); + + // Simple field (maxSegmentsAccepted) + lengthInBits += maxSegmentsAccepted.getLengthInBits(); + + // Simple field (vTClassesSupported) + lengthInBits += vTClassesSupported.getLengthInBits(); + + // Simple field (activeVTSessions) + lengthInBits += activeVTSessions.getLengthInBits(); + + // Simple field (localTime) + lengthInBits += localTime.getLengthInBits(); + + // Simple field (localDate) + lengthInBits += localDate.getLengthInBits(); + + // Simple field (uTCOffset) + lengthInBits += uTCOffset.getLengthInBits(); + + // Simple field (daylightSavingsStatus) + lengthInBits += daylightSavingsStatus.getLengthInBits(); + + // Simple field (aPDUSegmentTimeout) + lengthInBits += aPDUSegmentTimeout.getLengthInBits(); + + // Simple field (aPDUTimeout) + lengthInBits += aPDUTimeout.getLengthInBits(); + + // Simple field (numberOfAPDURetries) + lengthInBits += numberOfAPDURetries.getLengthInBits(); + + // Simple field (timeSynchronizationRecipients) + lengthInBits += timeSynchronizationRecipients.getLengthInBits(); + + // Simple field (maxMaster) + lengthInBits += maxMaster.getLengthInBits(); + + // Simple field (maxInfoFrames) + lengthInBits += maxInfoFrames.getLengthInBits(); + + // Simple field (deviceAddressBinding) + lengthInBits += deviceAddressBinding.getLengthInBits(); + + // Simple field (databaseRevision) + lengthInBits += databaseRevision.getLengthInBits(); + + // Simple field (configurationFiles) + lengthInBits += configurationFiles.getLengthInBits(); + + // Simple field (lastRestoreTime) + lengthInBits += lastRestoreTime.getLengthInBits(); + + // Simple field (backupFailureTimeout) + lengthInBits += backupFailureTimeout.getLengthInBits(); + + // Simple field (backupPreparationTime) + lengthInBits += backupPreparationTime.getLengthInBits(); + + // Simple field (restorePreparationTime) + lengthInBits += restorePreparationTime.getLengthInBits(); + + // Simple field (restoreCompletionTime) + lengthInBits += restoreCompletionTime.getLengthInBits(); + + // Simple field (backupAndRestoreState) + lengthInBits += backupAndRestoreState.getLengthInBits(); + + // Simple field (activeCOVSubscriptions) + lengthInBits += activeCOVSubscriptions.getLengthInBits(); + + // Simple field (lastRestartReason) + lengthInBits += lastRestartReason.getLengthInBits(); + + // Simple field (timeOfDeviceRestart) + lengthInBits += timeOfDeviceRestart.getLengthInBits(); + + // Simple field (restartNotificationRecipients) + lengthInBits += restartNotificationRecipients.getLengthInBits(); + + // Simple field (uTCTimeSynchronizationRecipients) + lengthInBits += uTCTimeSynchronizationRecipients.getLengthInBits(); + + // Simple field (timeSynchronizationInterval) + lengthInBits += timeSynchronizationInterval.getLengthInBits(); + + // Simple field (alignIntervals) + lengthInBits += alignIntervals.getLengthInBits(); + + // Simple field (intervalOffset) + lengthInBits += intervalOffset.getLengthInBits(); + + // Simple field (serialNumber) + lengthInBits += serialNumber.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (activeCOVMultipleSubscriptions) + lengthInBits += activeCOVMultipleSubscriptions.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (deployedProfileLocation) + lengthInBits += deployedProfileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Device staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Device"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty systemStatus = + readSimpleField( + "systemStatus", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDeviceStatus")), + readBuffer)); + + ReadableProperty vendorName = + readSimpleField( + "vendorName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty vendorIdentifier = + readSimpleField( + "vendorIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + ReadableProperty modelName = + readSimpleField( + "modelName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty firmwareRevision = + readSimpleField( + "firmwareRevision", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty applicationSoftwareVersion = + readSimpleField( + "applicationSoftwareVersion", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty location = + readSimpleField( + "location", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty protocolVersion = + readSimpleField( + "protocolVersion", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty protocolRevision = + readSimpleField( + "protocolRevision", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty protocolServicesSupported = + readSimpleField( + "protocolServicesSupported", + readComplex( + () -> + ReadableProperty.staticParse(readBuffer, (String) ("BACnetServicesSupported")), + readBuffer)); + + ReadableProperty protocolObjectTypesSupported = + readSimpleField( + "protocolObjectTypesSupported", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetObjectTypesSupported")), + readBuffer)); + + ReadableProperty objectList = + readSimpleField( + "objectList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetObjectIdentifier")), + readBuffer)); + + OptionalProperty structuredObjectList = + readSimpleField( + "structuredObjectList", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty maxAPDULengthAccepted = + readSimpleField( + "maxAPDULengthAccepted", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty segmentationSupported = + readSimpleField( + "segmentationSupported", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetSegmentation")), + readBuffer)); + + OptionalProperty maxSegmentsAccepted = + readSimpleField( + "maxSegmentsAccepted", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty vTClassesSupported = + readSimpleField( + "vTClassesSupported", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetVTClass")), + readBuffer)); + + OptionalProperty activeVTSessions = + readSimpleField( + "activeVTSessions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetVTSession")), + readBuffer)); + + OptionalProperty localTime = + readSimpleField( + "localTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Time")), readBuffer)); + + OptionalProperty localDate = + readSimpleField( + "localDate", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Date")), readBuffer)); + + OptionalProperty uTCOffset = + readSimpleField( + "uTCOffset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty daylightSavingsStatus = + readSimpleField( + "daylightSavingsStatus", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty aPDUSegmentTimeout = + readSimpleField( + "aPDUSegmentTimeout", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty aPDUTimeout = + readSimpleField( + "aPDUTimeout", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty numberOfAPDURetries = + readSimpleField( + "numberOfAPDURetries", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeSynchronizationRecipients = + readSimpleField( + "timeSynchronizationRecipients", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetRecipient")), + readBuffer)); + + OptionalProperty maxMaster = + readSimpleField( + "maxMaster", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned(0..127)")), + readBuffer)); + + OptionalProperty maxInfoFrames = + readSimpleField( + "maxInfoFrames", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty deviceAddressBinding = + readSimpleField( + "deviceAddressBinding", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetAddressBinding")), + readBuffer)); + + ReadableProperty databaseRevision = + readSimpleField( + "databaseRevision", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty configurationFiles = + readSimpleField( + "configurationFiles", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetObjectIdentifier")), + readBuffer)); + + OptionalProperty lastRestoreTime = + readSimpleField( + "lastRestoreTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty backupFailureTimeout = + readSimpleField( + "backupFailureTimeout", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + OptionalProperty backupPreparationTime = + readSimpleField( + "backupPreparationTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + OptionalProperty restorePreparationTime = + readSimpleField( + "restorePreparationTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + OptionalProperty restoreCompletionTime = + readSimpleField( + "restoreCompletionTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + OptionalProperty backupAndRestoreState = + readSimpleField( + "backupAndRestoreState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetBackupState")), + readBuffer)); + + OptionalProperty activeCOVSubscriptions = + readSimpleField( + "activeCOVSubscriptions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetCOVSubscription")), + readBuffer)); + + OptionalProperty lastRestartReason = + readSimpleField( + "lastRestartReason", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetRestartReason")), + readBuffer)); + + OptionalProperty timeOfDeviceRestart = + readSimpleField( + "timeOfDeviceRestart", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty restartNotificationRecipients = + readSimpleField( + "restartNotificationRecipients", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetRecipient")), + readBuffer)); + + OptionalProperty uTCTimeSynchronizationRecipients = + readSimpleField( + "uTCTimeSynchronizationRecipients", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetRecipient")), + readBuffer)); + + OptionalProperty timeSynchronizationInterval = + readSimpleField( + "timeSynchronizationInterval", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alignIntervals = + readSimpleField( + "alignIntervals", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty intervalOffset = + readSimpleField( + "intervalOffset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty serialNumber = + readSimpleField( + "serialNumber", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty activeCOVMultipleSubscriptions = + readSimpleField( + "activeCOVMultipleSubscriptions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetCOVMultipleSubscription")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deployedProfileLocation = + readSimpleField( + "deployedProfileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Device"); + // Create the instance + Device _device; + _device = + new Device( + objectIdentifier, + objectName, + objectType, + systemStatus, + vendorName, + vendorIdentifier, + modelName, + firmwareRevision, + applicationSoftwareVersion, + location, + description, + protocolVersion, + protocolRevision, + protocolServicesSupported, + protocolObjectTypesSupported, + objectList, + structuredObjectList, + maxAPDULengthAccepted, + segmentationSupported, + maxSegmentsAccepted, + vTClassesSupported, + activeVTSessions, + localTime, + localDate, + uTCOffset, + daylightSavingsStatus, + aPDUSegmentTimeout, + aPDUTimeout, + numberOfAPDURetries, + timeSynchronizationRecipients, + maxMaster, + maxInfoFrames, + deviceAddressBinding, + databaseRevision, + configurationFiles, + lastRestoreTime, + backupFailureTimeout, + backupPreparationTime, + restorePreparationTime, + restoreCompletionTime, + backupAndRestoreState, + activeCOVSubscriptions, + lastRestartReason, + timeOfDeviceRestart, + restartNotificationRecipients, + uTCTimeSynchronizationRecipients, + timeSynchronizationInterval, + alignIntervals, + intervalOffset, + serialNumber, + propertyList, + statusFlags, + eventState, + reliability, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + reliabilityEvaluationInhibit, + activeCOVMultipleSubscriptions, + tags, + profileLocation, + deployedProfileLocation, + profileName); + return _device; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Device)) { + return false; + } + Device that = (Device) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getSystemStatus() == that.getSystemStatus()) + && (getVendorName() == that.getVendorName()) + && (getVendorIdentifier() == that.getVendorIdentifier()) + && (getModelName() == that.getModelName()) + && (getFirmwareRevision() == that.getFirmwareRevision()) + && (getApplicationSoftwareVersion() == that.getApplicationSoftwareVersion()) + && (getLocation() == that.getLocation()) + && (getDescription() == that.getDescription()) + && (getProtocolVersion() == that.getProtocolVersion()) + && (getProtocolRevision() == that.getProtocolRevision()) + && (getProtocolServicesSupported() == that.getProtocolServicesSupported()) + && (getProtocolObjectTypesSupported() == that.getProtocolObjectTypesSupported()) + && (getObjectList() == that.getObjectList()) + && (getStructuredObjectList() == that.getStructuredObjectList()) + && (getMaxAPDULengthAccepted() == that.getMaxAPDULengthAccepted()) + && (getSegmentationSupported() == that.getSegmentationSupported()) + && (getMaxSegmentsAccepted() == that.getMaxSegmentsAccepted()) + && (getVTClassesSupported() == that.getVTClassesSupported()) + && (getActiveVTSessions() == that.getActiveVTSessions()) + && (getLocalTime() == that.getLocalTime()) + && (getLocalDate() == that.getLocalDate()) + && (getUTCOffset() == that.getUTCOffset()) + && (getDaylightSavingsStatus() == that.getDaylightSavingsStatus()) + && (getAPDUSegmentTimeout() == that.getAPDUSegmentTimeout()) + && (getAPDUTimeout() == that.getAPDUTimeout()) + && (getNumberOfAPDURetries() == that.getNumberOfAPDURetries()) + && (getTimeSynchronizationRecipients() == that.getTimeSynchronizationRecipients()) + && (getMaxMaster() == that.getMaxMaster()) + && (getMaxInfoFrames() == that.getMaxInfoFrames()) + && (getDeviceAddressBinding() == that.getDeviceAddressBinding()) + && (getDatabaseRevision() == that.getDatabaseRevision()) + && (getConfigurationFiles() == that.getConfigurationFiles()) + && (getLastRestoreTime() == that.getLastRestoreTime()) + && (getBackupFailureTimeout() == that.getBackupFailureTimeout()) + && (getBackupPreparationTime() == that.getBackupPreparationTime()) + && (getRestorePreparationTime() == that.getRestorePreparationTime()) + && (getRestoreCompletionTime() == that.getRestoreCompletionTime()) + && (getBackupAndRestoreState() == that.getBackupAndRestoreState()) + && (getActiveCOVSubscriptions() == that.getActiveCOVSubscriptions()) + && (getLastRestartReason() == that.getLastRestartReason()) + && (getTimeOfDeviceRestart() == that.getTimeOfDeviceRestart()) + && (getRestartNotificationRecipients() == that.getRestartNotificationRecipients()) + && (getUTCTimeSynchronizationRecipients() == that.getUTCTimeSynchronizationRecipients()) + && (getTimeSynchronizationInterval() == that.getTimeSynchronizationInterval()) + && (getAlignIntervals() == that.getAlignIntervals()) + && (getIntervalOffset() == that.getIntervalOffset()) + && (getSerialNumber() == that.getSerialNumber()) + && (getPropertyList() == that.getPropertyList()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getActiveCOVMultipleSubscriptions() == that.getActiveCOVMultipleSubscriptions()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getDeployedProfileLocation() == that.getDeployedProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getSystemStatus(), + getVendorName(), + getVendorIdentifier(), + getModelName(), + getFirmwareRevision(), + getApplicationSoftwareVersion(), + getLocation(), + getDescription(), + getProtocolVersion(), + getProtocolRevision(), + getProtocolServicesSupported(), + getProtocolObjectTypesSupported(), + getObjectList(), + getStructuredObjectList(), + getMaxAPDULengthAccepted(), + getSegmentationSupported(), + getMaxSegmentsAccepted(), + getVTClassesSupported(), + getActiveVTSessions(), + getLocalTime(), + getLocalDate(), + getUTCOffset(), + getDaylightSavingsStatus(), + getAPDUSegmentTimeout(), + getAPDUTimeout(), + getNumberOfAPDURetries(), + getTimeSynchronizationRecipients(), + getMaxMaster(), + getMaxInfoFrames(), + getDeviceAddressBinding(), + getDatabaseRevision(), + getConfigurationFiles(), + getLastRestoreTime(), + getBackupFailureTimeout(), + getBackupPreparationTime(), + getRestorePreparationTime(), + getRestoreCompletionTime(), + getBackupAndRestoreState(), + getActiveCOVSubscriptions(), + getLastRestartReason(), + getTimeOfDeviceRestart(), + getRestartNotificationRecipients(), + getUTCTimeSynchronizationRecipients(), + getTimeSynchronizationInterval(), + getAlignIntervals(), + getIntervalOffset(), + getSerialNumber(), + getPropertyList(), + getStatusFlags(), + getEventState(), + getReliability(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getReliabilityEvaluationInhibit(), + getActiveCOVMultipleSubscriptions(), + getTags(), + getProfileLocation(), + getDeployedProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/ElevatorGroup.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/ElevatorGroup.java new file mode 100644 index 00000000000..b86459f79fd --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/ElevatorGroup.java @@ -0,0 +1,439 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class ElevatorGroup implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty machineRoomID; + protected final ReadableProperty groupID; + protected final ReadableProperty groupMembers; + protected final OptionalProperty groupMode; + protected final OptionalProperty landingCalls; + protected final OptionalProperty landingCallControl; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public ElevatorGroup( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty machineRoomID, + ReadableProperty groupID, + ReadableProperty groupMembers, + OptionalProperty groupMode, + OptionalProperty landingCalls, + OptionalProperty landingCallControl, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.machineRoomID = machineRoomID; + this.groupID = groupID; + this.groupMembers = groupMembers; + this.groupMode = groupMode; + this.landingCalls = landingCalls; + this.landingCallControl = landingCallControl; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getMachineRoomID() { + return machineRoomID; + } + + public ReadableProperty getGroupID() { + return groupID; + } + + public ReadableProperty getGroupMembers() { + return groupMembers; + } + + public OptionalProperty getGroupMode() { + return groupMode; + } + + public OptionalProperty getLandingCalls() { + return landingCalls; + } + + public OptionalProperty getLandingCallControl() { + return landingCallControl; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("ElevatorGroup"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (machineRoomID) + writeSimpleField("machineRoomID", machineRoomID, writeComplex(writeBuffer)); + + // Simple Field (groupID) + writeSimpleField("groupID", groupID, writeComplex(writeBuffer)); + + // Simple Field (groupMembers) + writeSimpleField("groupMembers", groupMembers, writeComplex(writeBuffer)); + + // Simple Field (groupMode) + writeSimpleField("groupMode", groupMode, writeComplex(writeBuffer)); + + // Simple Field (landingCalls) + writeSimpleField("landingCalls", landingCalls, writeComplex(writeBuffer)); + + // Simple Field (landingCallControl) + writeSimpleField("landingCallControl", landingCallControl, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("ElevatorGroup"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + ElevatorGroup _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (machineRoomID) + lengthInBits += machineRoomID.getLengthInBits(); + + // Simple field (groupID) + lengthInBits += groupID.getLengthInBits(); + + // Simple field (groupMembers) + lengthInBits += groupMembers.getLengthInBits(); + + // Simple field (groupMode) + lengthInBits += groupMode.getLengthInBits(); + + // Simple field (landingCalls) + lengthInBits += landingCalls.getLengthInBits(); + + // Simple field (landingCallControl) + lengthInBits += landingCallControl.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static ElevatorGroup staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("ElevatorGroup"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty machineRoomID = + readSimpleField( + "machineRoomID", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty groupID = + readSimpleField( + "groupID", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + ReadableProperty groupMembers = + readSimpleField( + "groupMembers", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetObjectIdentifier")), + readBuffer)); + + OptionalProperty groupMode = + readSimpleField( + "groupMode", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLiftGroupMode")), + readBuffer)); + + OptionalProperty landingCalls = + readSimpleField( + "landingCalls", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLandingCallStatus")), + readBuffer)); + + OptionalProperty landingCallControl = + readSimpleField( + "landingCallControl", + readComplex( + () -> + OptionalProperty.staticParse(readBuffer, (String) ("BACnetLandingCallStatus")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("ElevatorGroup"); + // Create the instance + ElevatorGroup _elevatorGroup; + _elevatorGroup = + new ElevatorGroup( + objectIdentifier, + objectName, + objectType, + description, + machineRoomID, + groupID, + groupMembers, + groupMode, + landingCalls, + landingCallControl, + propertyList, + tags, + profileLocation, + profileName); + return _elevatorGroup; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ElevatorGroup)) { + return false; + } + ElevatorGroup that = (ElevatorGroup) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getMachineRoomID() == that.getMachineRoomID()) + && (getGroupID() == that.getGroupID()) + && (getGroupMembers() == that.getGroupMembers()) + && (getGroupMode() == that.getGroupMode()) + && (getLandingCalls() == that.getLandingCalls()) + && (getLandingCallControl() == that.getLandingCallControl()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getMachineRoomID(), + getGroupID(), + getGroupMembers(), + getGroupMode(), + getLandingCalls(), + getLandingCallControl(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Escalator.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Escalator.java new file mode 100644 index 00000000000..4a29ac6abca --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Escalator.java @@ -0,0 +1,927 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Escalator implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty elevatorGroup; + protected final ReadableProperty groupID; + protected final ReadableProperty installationID; + protected final OptionalProperty powerMode; + protected final ReadableProperty operationDirection; + protected final OptionalProperty escalatorMode; + protected final OptionalProperty energyMeter; + protected final OptionalProperty energyMeterRef; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final OptionalProperty faultSignals; + protected final ReadableProperty passengerAlarm; + protected final OptionalProperty timeDelay; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty eventState; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Escalator( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty elevatorGroup, + ReadableProperty groupID, + ReadableProperty installationID, + OptionalProperty powerMode, + ReadableProperty operationDirection, + OptionalProperty escalatorMode, + OptionalProperty energyMeter, + OptionalProperty energyMeterRef, + OptionalProperty reliability, + ReadableProperty outOfService, + OptionalProperty faultSignals, + ReadableProperty passengerAlarm, + OptionalProperty timeDelay, + OptionalProperty timeDelayNormal, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty eventState, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.statusFlags = statusFlags; + this.elevatorGroup = elevatorGroup; + this.groupID = groupID; + this.installationID = installationID; + this.powerMode = powerMode; + this.operationDirection = operationDirection; + this.escalatorMode = escalatorMode; + this.energyMeter = energyMeter; + this.energyMeterRef = energyMeterRef; + this.reliability = reliability; + this.outOfService = outOfService; + this.faultSignals = faultSignals; + this.passengerAlarm = passengerAlarm; + this.timeDelay = timeDelay; + this.timeDelayNormal = timeDelayNormal; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.eventState = eventState; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getElevatorGroup() { + return elevatorGroup; + } + + public ReadableProperty getGroupID() { + return groupID; + } + + public ReadableProperty getInstallationID() { + return installationID; + } + + public OptionalProperty getPowerMode() { + return powerMode; + } + + public ReadableProperty getOperationDirection() { + return operationDirection; + } + + public OptionalProperty getEscalatorMode() { + return escalatorMode; + } + + public OptionalProperty getEnergyMeter() { + return energyMeter; + } + + public OptionalProperty getEnergyMeterRef() { + return energyMeterRef; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getFaultSignals() { + return faultSignals; + } + + public ReadableProperty getPassengerAlarm() { + return passengerAlarm; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Escalator"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (elevatorGroup) + writeSimpleField("elevatorGroup", elevatorGroup, writeComplex(writeBuffer)); + + // Simple Field (groupID) + writeSimpleField("groupID", groupID, writeComplex(writeBuffer)); + + // Simple Field (installationID) + writeSimpleField("installationID", installationID, writeComplex(writeBuffer)); + + // Simple Field (powerMode) + writeSimpleField("powerMode", powerMode, writeComplex(writeBuffer)); + + // Simple Field (operationDirection) + writeSimpleField("operationDirection", operationDirection, writeComplex(writeBuffer)); + + // Simple Field (escalatorMode) + writeSimpleField("escalatorMode", escalatorMode, writeComplex(writeBuffer)); + + // Simple Field (energyMeter) + writeSimpleField("energyMeter", energyMeter, writeComplex(writeBuffer)); + + // Simple Field (energyMeterRef) + writeSimpleField("energyMeterRef", energyMeterRef, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (faultSignals) + writeSimpleField("faultSignals", faultSignals, writeComplex(writeBuffer)); + + // Simple Field (passengerAlarm) + writeSimpleField("passengerAlarm", passengerAlarm, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Escalator"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Escalator _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (elevatorGroup) + lengthInBits += elevatorGroup.getLengthInBits(); + + // Simple field (groupID) + lengthInBits += groupID.getLengthInBits(); + + // Simple field (installationID) + lengthInBits += installationID.getLengthInBits(); + + // Simple field (powerMode) + lengthInBits += powerMode.getLengthInBits(); + + // Simple field (operationDirection) + lengthInBits += operationDirection.getLengthInBits(); + + // Simple field (escalatorMode) + lengthInBits += escalatorMode.getLengthInBits(); + + // Simple field (energyMeter) + lengthInBits += energyMeter.getLengthInBits(); + + // Simple field (energyMeterRef) + lengthInBits += energyMeterRef.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (faultSignals) + lengthInBits += faultSignals.getLengthInBits(); + + // Simple field (passengerAlarm) + lengthInBits += passengerAlarm.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Escalator staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Escalator"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty elevatorGroup = + readSimpleField( + "elevatorGroup", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty groupID = + readSimpleField( + "groupID", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + ReadableProperty installationID = + readSimpleField( + "installationID", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + OptionalProperty powerMode = + readSimpleField( + "powerMode", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty operationDirection = + readSimpleField( + "operationDirection", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetEscalatorOperationDirection")), + readBuffer)); + + OptionalProperty escalatorMode = + readSimpleField( + "escalatorMode", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEscalatorMode")), + readBuffer)); + + OptionalProperty energyMeter = + readSimpleField( + "energyMeter", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty energyMeterRef = + readSimpleField( + "energyMeterRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty faultSignals = + readSimpleField( + "faultSignals", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetEscalatorFault")), + readBuffer)); + + ReadableProperty passengerAlarm = + readSimpleField( + "passengerAlarm", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Escalator"); + // Create the instance + Escalator _escalator; + _escalator = + new Escalator( + objectIdentifier, + objectName, + objectType, + description, + statusFlags, + elevatorGroup, + groupID, + installationID, + powerMode, + operationDirection, + escalatorMode, + energyMeter, + energyMeterRef, + reliability, + outOfService, + faultSignals, + passengerAlarm, + timeDelay, + timeDelayNormal, + eventDetectionEnable, + notificationClass, + eventEnable, + eventState, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventAlgorithmInhibit, + eventAlgorithmInhibitRef, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _escalator; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Escalator)) { + return false; + } + Escalator that = (Escalator) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getElevatorGroup() == that.getElevatorGroup()) + && (getGroupID() == that.getGroupID()) + && (getInstallationID() == that.getInstallationID()) + && (getPowerMode() == that.getPowerMode()) + && (getOperationDirection() == that.getOperationDirection()) + && (getEscalatorMode() == that.getEscalatorMode()) + && (getEnergyMeter() == that.getEnergyMeter()) + && (getEnergyMeterRef() == that.getEnergyMeterRef()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getFaultSignals() == that.getFaultSignals()) + && (getPassengerAlarm() == that.getPassengerAlarm()) + && (getTimeDelay() == that.getTimeDelay()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getEventState() == that.getEventState()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getStatusFlags(), + getElevatorGroup(), + getGroupID(), + getInstallationID(), + getPowerMode(), + getOperationDirection(), + getEscalatorMode(), + getEnergyMeter(), + getEnergyMeterRef(), + getReliability(), + getOutOfService(), + getFaultSignals(), + getPassengerAlarm(), + getTimeDelay(), + getTimeDelayNormal(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getEventState(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventAlgorithmInhibit(), + getEventAlgorithmInhibitRef(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/EventEnrollment.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/EventEnrollment.java new file mode 100644 index 00000000000..e91e117042d --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/EventEnrollment.java @@ -0,0 +1,767 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class EventEnrollment implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty eventType; + protected final ReadableProperty notifyType; + protected final ReadableProperty eventParameters; + protected final ReadableProperty objectPropertyReference; + protected final ReadableProperty eventState; + protected final ReadableProperty eventEnable; + protected final ReadableProperty ackedTransitions; + protected final ReadableProperty notificationClass; + protected final ReadableProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final ReadableProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final ReadableProperty timeDelayNormal; + protected final ReadableProperty statusFlags; + protected final ReadableProperty reliability; + protected final OptionalProperty faultType; + protected final OptionalProperty faultParameters; + protected final ReadableProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public EventEnrollment( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty eventType, + ReadableProperty notifyType, + ReadableProperty eventParameters, + ReadableProperty objectPropertyReference, + ReadableProperty eventState, + ReadableProperty eventEnable, + ReadableProperty ackedTransitions, + ReadableProperty notificationClass, + ReadableProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + ReadableProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + ReadableProperty timeDelayNormal, + ReadableProperty statusFlags, + ReadableProperty reliability, + OptionalProperty faultType, + OptionalProperty faultParameters, + ReadableProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.eventType = eventType; + this.notifyType = notifyType; + this.eventParameters = eventParameters; + this.objectPropertyReference = objectPropertyReference; + this.eventState = eventState; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notificationClass = notificationClass; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.faultType = faultType; + this.faultParameters = faultParameters; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getEventType() { + return eventType; + } + + public ReadableProperty getNotifyType() { + return notifyType; + } + + public ReadableProperty getEventParameters() { + return eventParameters; + } + + public ReadableProperty getObjectPropertyReference() { + return objectPropertyReference; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public ReadableProperty getEventEnable() { + return eventEnable; + } + + public ReadableProperty getAckedTransitions() { + return ackedTransitions; + } + + public ReadableProperty getNotificationClass() { + return notificationClass; + } + + public ReadableProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public ReadableProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public ReadableProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public OptionalProperty getFaultType() { + return faultType; + } + + public OptionalProperty getFaultParameters() { + return faultParameters; + } + + public ReadableProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("EventEnrollment"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (eventType) + writeSimpleField("eventType", eventType, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventParameters) + writeSimpleField("eventParameters", eventParameters, writeComplex(writeBuffer)); + + // Simple Field (objectPropertyReference) + writeSimpleField("objectPropertyReference", objectPropertyReference, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (faultType) + writeSimpleField("faultType", faultType, writeComplex(writeBuffer)); + + // Simple Field (faultParameters) + writeSimpleField("faultParameters", faultParameters, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("EventEnrollment"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + EventEnrollment _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (eventType) + lengthInBits += eventType.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventParameters) + lengthInBits += eventParameters.getLengthInBits(); + + // Simple field (objectPropertyReference) + lengthInBits += objectPropertyReference.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (faultType) + lengthInBits += faultType.getLengthInBits(); + + // Simple field (faultParameters) + lengthInBits += faultParameters.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static EventEnrollment staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("EventEnrollment"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty eventType = + readSimpleField( + "eventType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventType")), + readBuffer)); + + ReadableProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + ReadableProperty eventParameters = + readSimpleField( + "eventParameters", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventParameter")), + readBuffer)); + + ReadableProperty objectPropertyReference = + readSimpleField( + "objectPropertyReference", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectPropertyReference")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + ReadableProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + ReadableProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + ReadableProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + ReadableProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty faultType = + readSimpleField( + "faultType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetFaultType")), + readBuffer)); + + OptionalProperty faultParameters = + readSimpleField( + "faultParameters", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetFaultParameter")), + readBuffer)); + + ReadableProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("EventEnrollment"); + // Create the instance + EventEnrollment _eventEnrollment; + _eventEnrollment = + new EventEnrollment( + objectIdentifier, + objectName, + objectType, + description, + eventType, + notifyType, + eventParameters, + objectPropertyReference, + eventState, + eventEnable, + ackedTransitions, + notificationClass, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + statusFlags, + reliability, + faultType, + faultParameters, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _eventEnrollment; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof EventEnrollment)) { + return false; + } + EventEnrollment that = (EventEnrollment) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getEventType() == that.getEventType()) + && (getNotifyType() == that.getNotifyType()) + && (getEventParameters() == that.getEventParameters()) + && (getObjectPropertyReference() == that.getObjectPropertyReference()) + && (getEventState() == that.getEventState()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getFaultType() == that.getFaultType()) + && (getFaultParameters() == that.getFaultParameters()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getEventType(), + getNotifyType(), + getEventParameters(), + getObjectPropertyReference(), + getEventState(), + getEventEnable(), + getAckedTransitions(), + getNotificationClass(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getStatusFlags(), + getReliability(), + getFaultType(), + getFaultParameters(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/EventLog.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/EventLog.java new file mode 100644 index 00000000000..c023f03e52d --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/EventLog.java @@ -0,0 +1,882 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class EventLog implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty propertyList; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final WritableProperty enable; + protected final OptionalProperty startTime; + protected final OptionalProperty stopTime; + protected final ReadableProperty stopWhenFull; + protected final ReadableProperty bufferSize; + protected final ReadableProperty logBuffer; + protected final WritableProperty recordCount; + protected final ReadableProperty totalRecordCount; + protected final OptionalProperty notificationThreshold; + protected final OptionalProperty recordsSinceNotification; + protected final OptionalProperty lastNotifyRecord; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public EventLog( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty propertyList, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + WritableProperty enable, + OptionalProperty startTime, + OptionalProperty stopTime, + ReadableProperty stopWhenFull, + ReadableProperty bufferSize, + ReadableProperty logBuffer, + WritableProperty recordCount, + ReadableProperty totalRecordCount, + OptionalProperty notificationThreshold, + OptionalProperty recordsSinceNotification, + OptionalProperty lastNotifyRecord, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty reliabilityEvaluationInhibit, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.propertyList = propertyList; + this.description = description; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.enable = enable; + this.startTime = startTime; + this.stopTime = stopTime; + this.stopWhenFull = stopWhenFull; + this.bufferSize = bufferSize; + this.logBuffer = logBuffer; + this.recordCount = recordCount; + this.totalRecordCount = totalRecordCount; + this.notificationThreshold = notificationThreshold; + this.recordsSinceNotification = recordsSinceNotification; + this.lastNotifyRecord = lastNotifyRecord; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public WritableProperty getEnable() { + return enable; + } + + public OptionalProperty getStartTime() { + return startTime; + } + + public OptionalProperty getStopTime() { + return stopTime; + } + + public ReadableProperty getStopWhenFull() { + return stopWhenFull; + } + + public ReadableProperty getBufferSize() { + return bufferSize; + } + + public ReadableProperty getLogBuffer() { + return logBuffer; + } + + public WritableProperty getRecordCount() { + return recordCount; + } + + public ReadableProperty getTotalRecordCount() { + return totalRecordCount; + } + + public OptionalProperty getNotificationThreshold() { + return notificationThreshold; + } + + public OptionalProperty getRecordsSinceNotification() { + return recordsSinceNotification; + } + + public OptionalProperty getLastNotifyRecord() { + return lastNotifyRecord; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("EventLog"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (enable) + writeSimpleField("enable", enable, writeComplex(writeBuffer)); + + // Simple Field (startTime) + writeSimpleField("startTime", startTime, writeComplex(writeBuffer)); + + // Simple Field (stopTime) + writeSimpleField("stopTime", stopTime, writeComplex(writeBuffer)); + + // Simple Field (stopWhenFull) + writeSimpleField("stopWhenFull", stopWhenFull, writeComplex(writeBuffer)); + + // Simple Field (bufferSize) + writeSimpleField("bufferSize", bufferSize, writeComplex(writeBuffer)); + + // Simple Field (logBuffer) + writeSimpleField("logBuffer", logBuffer, writeComplex(writeBuffer)); + + // Simple Field (recordCount) + writeSimpleField("recordCount", recordCount, writeComplex(writeBuffer)); + + // Simple Field (totalRecordCount) + writeSimpleField("totalRecordCount", totalRecordCount, writeComplex(writeBuffer)); + + // Simple Field (notificationThreshold) + writeSimpleField("notificationThreshold", notificationThreshold, writeComplex(writeBuffer)); + + // Simple Field (recordsSinceNotification) + writeSimpleField( + "recordsSinceNotification", recordsSinceNotification, writeComplex(writeBuffer)); + + // Simple Field (lastNotifyRecord) + writeSimpleField("lastNotifyRecord", lastNotifyRecord, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("EventLog"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + EventLog _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (enable) + lengthInBits += enable.getLengthInBits(); + + // Simple field (startTime) + lengthInBits += startTime.getLengthInBits(); + + // Simple field (stopTime) + lengthInBits += stopTime.getLengthInBits(); + + // Simple field (stopWhenFull) + lengthInBits += stopWhenFull.getLengthInBits(); + + // Simple field (bufferSize) + lengthInBits += bufferSize.getLengthInBits(); + + // Simple field (logBuffer) + lengthInBits += logBuffer.getLengthInBits(); + + // Simple field (recordCount) + lengthInBits += recordCount.getLengthInBits(); + + // Simple field (totalRecordCount) + lengthInBits += totalRecordCount.getLengthInBits(); + + // Simple field (notificationThreshold) + lengthInBits += notificationThreshold.getLengthInBits(); + + // Simple field (recordsSinceNotification) + lengthInBits += recordsSinceNotification.getLengthInBits(); + + // Simple field (lastNotifyRecord) + lengthInBits += lastNotifyRecord.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static EventLog staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("EventLog"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + WritableProperty enable = + readSimpleField( + "enable", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty startTime = + readSimpleField( + "startTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty stopTime = + readSimpleField( + "stopTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + ReadableProperty stopWhenFull = + readSimpleField( + "stopWhenFull", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty bufferSize = + readSimpleField( + "bufferSize", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty logBuffer = + readSimpleField( + "logBuffer", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetEventLogRecord")), + readBuffer)); + + WritableProperty recordCount = + readSimpleField( + "recordCount", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty totalRecordCount = + readSimpleField( + "totalRecordCount", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty notificationThreshold = + readSimpleField( + "notificationThreshold", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty recordsSinceNotification = + readSimpleField( + "recordsSinceNotification", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty lastNotifyRecord = + readSimpleField( + "lastNotifyRecord", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("EventLog"); + // Create the instance + EventLog _eventLog; + _eventLog = + new EventLog( + objectIdentifier, + objectName, + objectType, + propertyList, + description, + statusFlags, + eventState, + reliability, + enable, + startTime, + stopTime, + stopWhenFull, + bufferSize, + logBuffer, + recordCount, + totalRecordCount, + notificationThreshold, + recordsSinceNotification, + lastNotifyRecord, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + reliabilityEvaluationInhibit, + tags, + profileLocation, + profileName); + return _eventLog; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof EventLog)) { + return false; + } + EventLog that = (EventLog) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPropertyList() == that.getPropertyList()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getEnable() == that.getEnable()) + && (getStartTime() == that.getStartTime()) + && (getStopTime() == that.getStopTime()) + && (getStopWhenFull() == that.getStopWhenFull()) + && (getBufferSize() == that.getBufferSize()) + && (getLogBuffer() == that.getLogBuffer()) + && (getRecordCount() == that.getRecordCount()) + && (getTotalRecordCount() == that.getTotalRecordCount()) + && (getNotificationThreshold() == that.getNotificationThreshold()) + && (getRecordsSinceNotification() == that.getRecordsSinceNotification()) + && (getLastNotifyRecord() == that.getLastNotifyRecord()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPropertyList(), + getDescription(), + getStatusFlags(), + getEventState(), + getReliability(), + getEnable(), + getStartTime(), + getStopTime(), + getStopWhenFull(), + getBufferSize(), + getLogBuffer(), + getRecordCount(), + getTotalRecordCount(), + getNotificationThreshold(), + getRecordsSinceNotification(), + getLastNotifyRecord(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getReliabilityEvaluationInhibit(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/File.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/File.java new file mode 100644 index 00000000000..71c21c57ca7 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/File.java @@ -0,0 +1,453 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class File implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty fileType; + protected final ReadableProperty fileSize; + protected final ReadableProperty modificationDate; + protected final WritableProperty archive; + protected final ReadableProperty readOnly; + protected final ReadableProperty fileAccessMethod; + protected final OptionalProperty recordCount; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public File( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty fileType, + ReadableProperty fileSize, + ReadableProperty modificationDate, + WritableProperty archive, + ReadableProperty readOnly, + ReadableProperty fileAccessMethod, + OptionalProperty recordCount, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.fileType = fileType; + this.fileSize = fileSize; + this.modificationDate = modificationDate; + this.archive = archive; + this.readOnly = readOnly; + this.fileAccessMethod = fileAccessMethod; + this.recordCount = recordCount; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getFileType() { + return fileType; + } + + public ReadableProperty getFileSize() { + return fileSize; + } + + public ReadableProperty getModificationDate() { + return modificationDate; + } + + public WritableProperty getArchive() { + return archive; + } + + public ReadableProperty getReadOnly() { + return readOnly; + } + + public ReadableProperty getFileAccessMethod() { + return fileAccessMethod; + } + + public OptionalProperty getRecordCount() { + return recordCount; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("File"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (fileType) + writeSimpleField("fileType", fileType, writeComplex(writeBuffer)); + + // Simple Field (fileSize) + writeSimpleField("fileSize", fileSize, writeComplex(writeBuffer)); + + // Simple Field (modificationDate) + writeSimpleField("modificationDate", modificationDate, writeComplex(writeBuffer)); + + // Simple Field (archive) + writeSimpleField("archive", archive, writeComplex(writeBuffer)); + + // Simple Field (readOnly) + writeSimpleField("readOnly", readOnly, writeComplex(writeBuffer)); + + // Simple Field (fileAccessMethod) + writeSimpleField("fileAccessMethod", fileAccessMethod, writeComplex(writeBuffer)); + + // Simple Field (recordCount) + writeSimpleField("recordCount", recordCount, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("File"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + File _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (fileType) + lengthInBits += fileType.getLengthInBits(); + + // Simple field (fileSize) + lengthInBits += fileSize.getLengthInBits(); + + // Simple field (modificationDate) + lengthInBits += modificationDate.getLengthInBits(); + + // Simple field (archive) + lengthInBits += archive.getLengthInBits(); + + // Simple field (readOnly) + lengthInBits += readOnly.getLengthInBits(); + + // Simple field (fileAccessMethod) + lengthInBits += fileAccessMethod.getLengthInBits(); + + // Simple field (recordCount) + lengthInBits += recordCount.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static File staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("File"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty fileType = + readSimpleField( + "fileType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty fileSize = + readSimpleField( + "fileSize", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty modificationDate = + readSimpleField( + "modificationDate", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + WritableProperty archive = + readSimpleField( + "archive", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty readOnly = + readSimpleField( + "readOnly", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty fileAccessMethod = + readSimpleField( + "fileAccessMethod", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetFileAccessMethod")), + readBuffer)); + + OptionalProperty recordCount = + readSimpleField( + "recordCount", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("File"); + // Create the instance + File _file; + _file = + new File( + objectIdentifier, + objectName, + objectType, + description, + fileType, + fileSize, + modificationDate, + archive, + readOnly, + fileAccessMethod, + recordCount, + propertyList, + tags, + profileLocation, + profileName); + return _file; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof File)) { + return false; + } + File that = (File) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getFileType() == that.getFileType()) + && (getFileSize() == that.getFileSize()) + && (getModificationDate() == that.getModificationDate()) + && (getArchive() == that.getArchive()) + && (getReadOnly() == that.getReadOnly()) + && (getFileAccessMethod() == that.getFileAccessMethod()) + && (getRecordCount() == that.getRecordCount()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getFileType(), + getFileSize(), + getModificationDate(), + getArchive(), + getReadOnly(), + getFileAccessMethod(), + getRecordCount(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/GlobalGroup.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/GlobalGroup.java new file mode 100644 index 00000000000..08f0bdd621d --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/GlobalGroup.java @@ -0,0 +1,930 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class GlobalGroup implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty groupMembers; + protected final OptionalProperty groupMemberNames; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final ReadableProperty memberStatusFlags; + protected final OptionalProperty reliability; + protected final ReadableProperty outofService; + protected final OptionalProperty updateInterval; + protected final OptionalProperty requestedUpdateInterval; + protected final OptionalProperty cOVResubscriptionInterval; + protected final OptionalProperty clientCOVIncrement; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty cOVUPeriod; + protected final OptionalProperty cOVURecipients; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public GlobalGroup( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty groupMembers, + OptionalProperty groupMemberNames, + ReadableProperty presentValue, + ReadableProperty statusFlags, + ReadableProperty eventState, + ReadableProperty memberStatusFlags, + OptionalProperty reliability, + ReadableProperty outofService, + OptionalProperty updateInterval, + OptionalProperty requestedUpdateInterval, + OptionalProperty cOVResubscriptionInterval, + OptionalProperty clientCOVIncrement, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty cOVUPeriod, + OptionalProperty cOVURecipients, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.groupMembers = groupMembers; + this.groupMemberNames = groupMemberNames; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.memberStatusFlags = memberStatusFlags; + this.reliability = reliability; + this.outofService = outofService; + this.updateInterval = updateInterval; + this.requestedUpdateInterval = requestedUpdateInterval; + this.cOVResubscriptionInterval = cOVResubscriptionInterval; + this.clientCOVIncrement = clientCOVIncrement; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.cOVUPeriod = cOVUPeriod; + this.cOVURecipients = cOVURecipients; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getGroupMembers() { + return groupMembers; + } + + public OptionalProperty getGroupMemberNames() { + return groupMemberNames; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public ReadableProperty getMemberStatusFlags() { + return memberStatusFlags; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutofService() { + return outofService; + } + + public OptionalProperty getUpdateInterval() { + return updateInterval; + } + + public OptionalProperty getRequestedUpdateInterval() { + return requestedUpdateInterval; + } + + public OptionalProperty getCOVResubscriptionInterval() { + return cOVResubscriptionInterval; + } + + public OptionalProperty getClientCOVIncrement() { + return clientCOVIncrement; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getCOVUPeriod() { + return cOVUPeriod; + } + + public OptionalProperty getCOVURecipients() { + return cOVURecipients; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("GlobalGroup"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (groupMembers) + writeSimpleField("groupMembers", groupMembers, writeComplex(writeBuffer)); + + // Simple Field (groupMemberNames) + writeSimpleField("groupMemberNames", groupMemberNames, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (memberStatusFlags) + writeSimpleField("memberStatusFlags", memberStatusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outofService) + writeSimpleField("outofService", outofService, writeComplex(writeBuffer)); + + // Simple Field (updateInterval) + writeSimpleField("updateInterval", updateInterval, writeComplex(writeBuffer)); + + // Simple Field (requestedUpdateInterval) + writeSimpleField("requestedUpdateInterval", requestedUpdateInterval, writeComplex(writeBuffer)); + + // Simple Field (cOVResubscriptionInterval) + writeSimpleField( + "cOVResubscriptionInterval", cOVResubscriptionInterval, writeComplex(writeBuffer)); + + // Simple Field (clientCOVIncrement) + writeSimpleField("clientCOVIncrement", clientCOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (cOVUPeriod) + writeSimpleField("cOVUPeriod", cOVUPeriod, writeComplex(writeBuffer)); + + // Simple Field (cOVURecipients) + writeSimpleField("cOVURecipients", cOVURecipients, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("GlobalGroup"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + GlobalGroup _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (groupMembers) + lengthInBits += groupMembers.getLengthInBits(); + + // Simple field (groupMemberNames) + lengthInBits += groupMemberNames.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (memberStatusFlags) + lengthInBits += memberStatusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outofService) + lengthInBits += outofService.getLengthInBits(); + + // Simple field (updateInterval) + lengthInBits += updateInterval.getLengthInBits(); + + // Simple field (requestedUpdateInterval) + lengthInBits += requestedUpdateInterval.getLengthInBits(); + + // Simple field (cOVResubscriptionInterval) + lengthInBits += cOVResubscriptionInterval.getLengthInBits(); + + // Simple field (clientCOVIncrement) + lengthInBits += clientCOVIncrement.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (cOVUPeriod) + lengthInBits += cOVUPeriod.getLengthInBits(); + + // Simple field (cOVURecipients) + lengthInBits += cOVURecipients.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static GlobalGroup staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("GlobalGroup"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty groupMembers = + readSimpleField( + "groupMembers", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, + (String) ("BACnetARRAY[N] of BACnetDeviceObjectPropertyReference")), + readBuffer)); + + OptionalProperty groupMemberNames = + readSimpleField( + "groupMemberNames", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyAccessResult")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + ReadableProperty memberStatusFlags = + readSimpleField( + "memberStatusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outofService = + readSimpleField( + "outofService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty updateInterval = + readSimpleField( + "updateInterval", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty requestedUpdateInterval = + readSimpleField( + "requestedUpdateInterval", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty cOVResubscriptionInterval = + readSimpleField( + "cOVResubscriptionInterval", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty clientCOVIncrement = + readSimpleField( + "clientCOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetClientCOV")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty cOVUPeriod = + readSimpleField( + "cOVUPeriod", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty cOVURecipients = + readSimpleField( + "cOVURecipients", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetRecipient")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("GlobalGroup"); + // Create the instance + GlobalGroup _globalGroup; + _globalGroup = + new GlobalGroup( + objectIdentifier, + objectName, + objectType, + description, + groupMembers, + groupMemberNames, + presentValue, + statusFlags, + eventState, + memberStatusFlags, + reliability, + outofService, + updateInterval, + requestedUpdateInterval, + cOVResubscriptionInterval, + clientCOVIncrement, + timeDelay, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + cOVUPeriod, + cOVURecipients, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _globalGroup; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof GlobalGroup)) { + return false; + } + GlobalGroup that = (GlobalGroup) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getGroupMembers() == that.getGroupMembers()) + && (getGroupMemberNames() == that.getGroupMemberNames()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getMemberStatusFlags() == that.getMemberStatusFlags()) + && (getReliability() == that.getReliability()) + && (getOutofService() == that.getOutofService()) + && (getUpdateInterval() == that.getUpdateInterval()) + && (getRequestedUpdateInterval() == that.getRequestedUpdateInterval()) + && (getCOVResubscriptionInterval() == that.getCOVResubscriptionInterval()) + && (getClientCOVIncrement() == that.getClientCOVIncrement()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getCOVUPeriod() == that.getCOVUPeriod()) + && (getCOVURecipients() == that.getCOVURecipients()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getGroupMembers(), + getGroupMemberNames(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getMemberStatusFlags(), + getReliability(), + getOutofService(), + getUpdateInterval(), + getRequestedUpdateInterval(), + getCOVResubscriptionInterval(), + getClientCOVIncrement(), + getTimeDelay(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getCOVUPeriod(), + getCOVURecipients(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Group.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Group.java new file mode 100644 index 00000000000..134a4653600 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Group.java @@ -0,0 +1,346 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Group implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty listOfGroupMembers; + protected final ReadableProperty presentValue; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Group( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty listOfGroupMembers, + ReadableProperty presentValue, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.listOfGroupMembers = listOfGroupMembers; + this.presentValue = presentValue; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getListOfGroupMembers() { + return listOfGroupMembers; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Group"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (listOfGroupMembers) + writeSimpleField("listOfGroupMembers", listOfGroupMembers, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Group"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Group _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (listOfGroupMembers) + lengthInBits += listOfGroupMembers.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Group staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Group"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty listOfGroupMembers = + readSimpleField( + "listOfGroupMembers", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of ReadAccessSpecification")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of ReadAccessResult")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Group"); + // Create the instance + Group _group; + _group = + new Group( + objectIdentifier, + objectName, + objectType, + description, + listOfGroupMembers, + presentValue, + propertyList, + tags, + profileLocation, + profileName); + return _group; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Group)) { + return false; + } + Group that = (Group) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getListOfGroupMembers() == that.getListOfGroupMembers()) + && (getPresentValue() == that.getPresentValue()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getListOfGroupMembers(), + getPresentValue(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/IntegerValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/IntegerValue.java new file mode 100644 index 00000000000..2b80b40aa3b --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/IntegerValue.java @@ -0,0 +1,1124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class IntegerValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final ReadableProperty units; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty cOVIncrement; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty highLimit; + protected final OptionalProperty lowLimit; + protected final OptionalProperty deadband; + protected final OptionalProperty limitEnable; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final OptionalProperty minPresValue; + protected final OptionalProperty maxPresValue; + protected final OptionalProperty resolution; + protected final ReadableProperty propertyList; + protected final OptionalProperty faultHighLimit; + protected final OptionalProperty faultLowLimit; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public IntegerValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + ReadableProperty units, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty cOVIncrement, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty highLimit, + OptionalProperty lowLimit, + OptionalProperty deadband, + OptionalProperty limitEnable, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + OptionalProperty minPresValue, + OptionalProperty maxPresValue, + OptionalProperty resolution, + ReadableProperty propertyList, + OptionalProperty faultHighLimit, + OptionalProperty faultLowLimit, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.units = units; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.cOVIncrement = cOVIncrement; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.highLimit = highLimit; + this.lowLimit = lowLimit; + this.deadband = deadband; + this.limitEnable = limitEnable; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.minPresValue = minPresValue; + this.maxPresValue = maxPresValue; + this.resolution = resolution; + this.propertyList = propertyList; + this.faultHighLimit = faultHighLimit; + this.faultLowLimit = faultLowLimit; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getUnits() { + return units; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getCOVIncrement() { + return cOVIncrement; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getHighLimit() { + return highLimit; + } + + public OptionalProperty getLowLimit() { + return lowLimit; + } + + public OptionalProperty getDeadband() { + return deadband; + } + + public OptionalProperty getLimitEnable() { + return limitEnable; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public OptionalProperty getMinPresValue() { + return minPresValue; + } + + public OptionalProperty getMaxPresValue() { + return maxPresValue; + } + + public OptionalProperty getResolution() { + return resolution; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getFaultHighLimit() { + return faultHighLimit; + } + + public OptionalProperty getFaultLowLimit() { + return faultLowLimit; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("IntegerValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (units) + writeSimpleField("units", units, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (cOVIncrement) + writeSimpleField("cOVIncrement", cOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (highLimit) + writeSimpleField("highLimit", highLimit, writeComplex(writeBuffer)); + + // Simple Field (lowLimit) + writeSimpleField("lowLimit", lowLimit, writeComplex(writeBuffer)); + + // Simple Field (deadband) + writeSimpleField("deadband", deadband, writeComplex(writeBuffer)); + + // Simple Field (limitEnable) + writeSimpleField("limitEnable", limitEnable, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (minPresValue) + writeSimpleField("minPresValue", minPresValue, writeComplex(writeBuffer)); + + // Simple Field (maxPresValue) + writeSimpleField("maxPresValue", maxPresValue, writeComplex(writeBuffer)); + + // Simple Field (resolution) + writeSimpleField("resolution", resolution, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (faultHighLimit) + writeSimpleField("faultHighLimit", faultHighLimit, writeComplex(writeBuffer)); + + // Simple Field (faultLowLimit) + writeSimpleField("faultLowLimit", faultLowLimit, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("IntegerValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + IntegerValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (units) + lengthInBits += units.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (cOVIncrement) + lengthInBits += cOVIncrement.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (highLimit) + lengthInBits += highLimit.getLengthInBits(); + + // Simple field (lowLimit) + lengthInBits += lowLimit.getLengthInBits(); + + // Simple field (deadband) + lengthInBits += deadband.getLengthInBits(); + + // Simple field (limitEnable) + lengthInBits += limitEnable.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (minPresValue) + lengthInBits += minPresValue.getLengthInBits(); + + // Simple field (maxPresValue) + lengthInBits += maxPresValue.getLengthInBits(); + + // Simple field (resolution) + lengthInBits += resolution.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (faultHighLimit) + lengthInBits += faultHighLimit.getLengthInBits(); + + // Simple field (faultLowLimit) + lengthInBits += faultLowLimit.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static IntegerValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("IntegerValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty units = + readSimpleField( + "units", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty cOVIncrement = + readSimpleField( + "cOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty highLimit = + readSimpleField( + "highLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty lowLimit = + readSimpleField( + "lowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty deadband = + readSimpleField( + "deadband", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty limitEnable = + readSimpleField( + "limitEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLimitEnable")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty minPresValue = + readSimpleField( + "minPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty maxPresValue = + readSimpleField( + "maxPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty resolution = + readSimpleField( + "resolution", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty faultHighLimit = + readSimpleField( + "faultHighLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty faultLowLimit = + readSimpleField( + "faultLowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("INTEGER")), readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("IntegerValue"); + // Create the instance + IntegerValue _integerValue; + _integerValue = + new IntegerValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + units, + priorityArray, + relinquishDefault, + cOVIncrement, + timeDelay, + notificationClass, + highLimit, + lowLimit, + deadband, + limitEnable, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + minPresValue, + maxPresValue, + resolution, + propertyList, + faultHighLimit, + faultLowLimit, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _integerValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof IntegerValue)) { + return false; + } + IntegerValue that = (IntegerValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getUnits() == that.getUnits()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getCOVIncrement() == that.getCOVIncrement()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getHighLimit() == that.getHighLimit()) + && (getLowLimit() == that.getLowLimit()) + && (getDeadband() == that.getDeadband()) + && (getLimitEnable() == that.getLimitEnable()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getMinPresValue() == that.getMinPresValue()) + && (getMaxPresValue() == that.getMaxPresValue()) + && (getResolution() == that.getResolution()) + && (getPropertyList() == that.getPropertyList()) + && (getFaultHighLimit() == that.getFaultHighLimit()) + && (getFaultLowLimit() == that.getFaultLowLimit()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getUnits(), + getPriorityArray(), + getRelinquishDefault(), + getCOVIncrement(), + getTimeDelay(), + getNotificationClass(), + getHighLimit(), + getLowLimit(), + getDeadband(), + getLimitEnable(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getMinPresValue(), + getMaxPresValue(), + getResolution(), + getPropertyList(), + getFaultHighLimit(), + getFaultLowLimit(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LargeAnalogValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LargeAnalogValue.java new file mode 100644 index 00000000000..914da782376 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LargeAnalogValue.java @@ -0,0 +1,1124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class LargeAnalogValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final ReadableProperty units; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty cOVIncrement; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty highLimit; + protected final OptionalProperty lowLimit; + protected final OptionalProperty deadband; + protected final OptionalProperty limitEnable; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final OptionalProperty minPresValue; + protected final OptionalProperty maxPresValue; + protected final OptionalProperty resolution; + protected final ReadableProperty propertyList; + protected final OptionalProperty faultHighLimit; + protected final OptionalProperty faultLowLimit; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public LargeAnalogValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + ReadableProperty units, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty cOVIncrement, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty highLimit, + OptionalProperty lowLimit, + OptionalProperty deadband, + OptionalProperty limitEnable, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + OptionalProperty minPresValue, + OptionalProperty maxPresValue, + OptionalProperty resolution, + ReadableProperty propertyList, + OptionalProperty faultHighLimit, + OptionalProperty faultLowLimit, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.units = units; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.cOVIncrement = cOVIncrement; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.highLimit = highLimit; + this.lowLimit = lowLimit; + this.deadband = deadband; + this.limitEnable = limitEnable; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.minPresValue = minPresValue; + this.maxPresValue = maxPresValue; + this.resolution = resolution; + this.propertyList = propertyList; + this.faultHighLimit = faultHighLimit; + this.faultLowLimit = faultLowLimit; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getUnits() { + return units; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getCOVIncrement() { + return cOVIncrement; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getHighLimit() { + return highLimit; + } + + public OptionalProperty getLowLimit() { + return lowLimit; + } + + public OptionalProperty getDeadband() { + return deadband; + } + + public OptionalProperty getLimitEnable() { + return limitEnable; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public OptionalProperty getMinPresValue() { + return minPresValue; + } + + public OptionalProperty getMaxPresValue() { + return maxPresValue; + } + + public OptionalProperty getResolution() { + return resolution; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getFaultHighLimit() { + return faultHighLimit; + } + + public OptionalProperty getFaultLowLimit() { + return faultLowLimit; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("LargeAnalogValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (units) + writeSimpleField("units", units, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (cOVIncrement) + writeSimpleField("cOVIncrement", cOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (highLimit) + writeSimpleField("highLimit", highLimit, writeComplex(writeBuffer)); + + // Simple Field (lowLimit) + writeSimpleField("lowLimit", lowLimit, writeComplex(writeBuffer)); + + // Simple Field (deadband) + writeSimpleField("deadband", deadband, writeComplex(writeBuffer)); + + // Simple Field (limitEnable) + writeSimpleField("limitEnable", limitEnable, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (minPresValue) + writeSimpleField("minPresValue", minPresValue, writeComplex(writeBuffer)); + + // Simple Field (maxPresValue) + writeSimpleField("maxPresValue", maxPresValue, writeComplex(writeBuffer)); + + // Simple Field (resolution) + writeSimpleField("resolution", resolution, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (faultHighLimit) + writeSimpleField("faultHighLimit", faultHighLimit, writeComplex(writeBuffer)); + + // Simple Field (faultLowLimit) + writeSimpleField("faultLowLimit", faultLowLimit, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("LargeAnalogValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + LargeAnalogValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (units) + lengthInBits += units.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (cOVIncrement) + lengthInBits += cOVIncrement.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (highLimit) + lengthInBits += highLimit.getLengthInBits(); + + // Simple field (lowLimit) + lengthInBits += lowLimit.getLengthInBits(); + + // Simple field (deadband) + lengthInBits += deadband.getLengthInBits(); + + // Simple field (limitEnable) + lengthInBits += limitEnable.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (minPresValue) + lengthInBits += minPresValue.getLengthInBits(); + + // Simple field (maxPresValue) + lengthInBits += maxPresValue.getLengthInBits(); + + // Simple field (resolution) + lengthInBits += resolution.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (faultHighLimit) + lengthInBits += faultHighLimit.getLengthInBits(); + + // Simple field (faultLowLimit) + lengthInBits += faultLowLimit.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static LargeAnalogValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("LargeAnalogValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty units = + readSimpleField( + "units", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + OptionalProperty cOVIncrement = + readSimpleField( + "cOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty highLimit = + readSimpleField( + "highLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + OptionalProperty lowLimit = + readSimpleField( + "lowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + OptionalProperty deadband = + readSimpleField( + "deadband", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + OptionalProperty limitEnable = + readSimpleField( + "limitEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLimitEnable")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty minPresValue = + readSimpleField( + "minPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + OptionalProperty maxPresValue = + readSimpleField( + "maxPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + OptionalProperty resolution = + readSimpleField( + "resolution", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty faultHighLimit = + readSimpleField( + "faultHighLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + OptionalProperty faultLowLimit = + readSimpleField( + "faultLowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Double")), readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("LargeAnalogValue"); + // Create the instance + LargeAnalogValue _largeAnalogValue; + _largeAnalogValue = + new LargeAnalogValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + units, + priorityArray, + relinquishDefault, + cOVIncrement, + timeDelay, + notificationClass, + highLimit, + lowLimit, + deadband, + limitEnable, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + minPresValue, + maxPresValue, + resolution, + propertyList, + faultHighLimit, + faultLowLimit, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _largeAnalogValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof LargeAnalogValue)) { + return false; + } + LargeAnalogValue that = (LargeAnalogValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getUnits() == that.getUnits()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getCOVIncrement() == that.getCOVIncrement()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getHighLimit() == that.getHighLimit()) + && (getLowLimit() == that.getLowLimit()) + && (getDeadband() == that.getDeadband()) + && (getLimitEnable() == that.getLimitEnable()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getMinPresValue() == that.getMinPresValue()) + && (getMaxPresValue() == that.getMaxPresValue()) + && (getResolution() == that.getResolution()) + && (getPropertyList() == that.getPropertyList()) + && (getFaultHighLimit() == that.getFaultHighLimit()) + && (getFaultLowLimit() == that.getFaultLowLimit()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getUnits(), + getPriorityArray(), + getRelinquishDefault(), + getCOVIncrement(), + getTimeDelay(), + getNotificationClass(), + getHighLimit(), + getLowLimit(), + getDeadband(), + getLimitEnable(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getMinPresValue(), + getMaxPresValue(), + getResolution(), + getPropertyList(), + getFaultHighLimit(), + getFaultLowLimit(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LifeSafetyPoint.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LifeSafetyPoint.java new file mode 100644 index 00000000000..510fb954203 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LifeSafetyPoint.java @@ -0,0 +1,1073 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class LifeSafetyPoint implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final ReadableProperty trackingValue; + protected final OptionalProperty description; + protected final OptionalProperty deviceType; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final ReadableProperty reliability; + protected final ReadableProperty outOfService; + protected final WritableProperty mode; + protected final ReadableProperty acceptedModes; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty lifeSafetyAlarmValues; + protected final OptionalProperty alarmValues; + protected final OptionalProperty faultValues; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty silenced; + protected final ReadableProperty operationExpected; + protected final OptionalProperty maintenanceRequired; + protected final OptionalProperty setting; + protected final OptionalProperty directReading; + protected final OptionalProperty units; + protected final OptionalProperty memberOf; + protected final ReadableProperty propertyList; + protected final OptionalProperty valueSource; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public LifeSafetyPoint( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + ReadableProperty trackingValue, + OptionalProperty description, + OptionalProperty deviceType, + ReadableProperty statusFlags, + ReadableProperty eventState, + ReadableProperty reliability, + ReadableProperty outOfService, + WritableProperty mode, + ReadableProperty acceptedModes, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty lifeSafetyAlarmValues, + OptionalProperty alarmValues, + OptionalProperty faultValues, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty silenced, + ReadableProperty operationExpected, + OptionalProperty maintenanceRequired, + OptionalProperty setting, + OptionalProperty directReading, + OptionalProperty units, + OptionalProperty memberOf, + ReadableProperty propertyList, + OptionalProperty valueSource, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.trackingValue = trackingValue; + this.description = description; + this.deviceType = deviceType; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.mode = mode; + this.acceptedModes = acceptedModes; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.lifeSafetyAlarmValues = lifeSafetyAlarmValues; + this.alarmValues = alarmValues; + this.faultValues = faultValues; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.silenced = silenced; + this.operationExpected = operationExpected; + this.maintenanceRequired = maintenanceRequired; + this.setting = setting; + this.directReading = directReading; + this.units = units; + this.memberOf = memberOf; + this.propertyList = propertyList; + this.valueSource = valueSource; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getTrackingValue() { + return trackingValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getDeviceType() { + return deviceType; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public WritableProperty getMode() { + return mode; + } + + public ReadableProperty getAcceptedModes() { + return acceptedModes; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getLifeSafetyAlarmValues() { + return lifeSafetyAlarmValues; + } + + public OptionalProperty getAlarmValues() { + return alarmValues; + } + + public OptionalProperty getFaultValues() { + return faultValues; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getSilenced() { + return silenced; + } + + public ReadableProperty getOperationExpected() { + return operationExpected; + } + + public OptionalProperty getMaintenanceRequired() { + return maintenanceRequired; + } + + public OptionalProperty getSetting() { + return setting; + } + + public OptionalProperty getDirectReading() { + return directReading; + } + + public OptionalProperty getUnits() { + return units; + } + + public OptionalProperty getMemberOf() { + return memberOf; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("LifeSafetyPoint"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (trackingValue) + writeSimpleField("trackingValue", trackingValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (deviceType) + writeSimpleField("deviceType", deviceType, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (mode) + writeSimpleField("mode", mode, writeComplex(writeBuffer)); + + // Simple Field (acceptedModes) + writeSimpleField("acceptedModes", acceptedModes, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (lifeSafetyAlarmValues) + writeSimpleField("lifeSafetyAlarmValues", lifeSafetyAlarmValues, writeComplex(writeBuffer)); + + // Simple Field (alarmValues) + writeSimpleField("alarmValues", alarmValues, writeComplex(writeBuffer)); + + // Simple Field (faultValues) + writeSimpleField("faultValues", faultValues, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (silenced) + writeSimpleField("silenced", silenced, writeComplex(writeBuffer)); + + // Simple Field (operationExpected) + writeSimpleField("operationExpected", operationExpected, writeComplex(writeBuffer)); + + // Simple Field (maintenanceRequired) + writeSimpleField("maintenanceRequired", maintenanceRequired, writeComplex(writeBuffer)); + + // Simple Field (setting) + writeSimpleField("setting", setting, writeComplex(writeBuffer)); + + // Simple Field (directReading) + writeSimpleField("directReading", directReading, writeComplex(writeBuffer)); + + // Simple Field (units) + writeSimpleField("units", units, writeComplex(writeBuffer)); + + // Simple Field (memberOf) + writeSimpleField("memberOf", memberOf, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("LifeSafetyPoint"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + LifeSafetyPoint _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (trackingValue) + lengthInBits += trackingValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (deviceType) + lengthInBits += deviceType.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (mode) + lengthInBits += mode.getLengthInBits(); + + // Simple field (acceptedModes) + lengthInBits += acceptedModes.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (lifeSafetyAlarmValues) + lengthInBits += lifeSafetyAlarmValues.getLengthInBits(); + + // Simple field (alarmValues) + lengthInBits += alarmValues.getLengthInBits(); + + // Simple field (faultValues) + lengthInBits += faultValues.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (silenced) + lengthInBits += silenced.getLengthInBits(); + + // Simple field (operationExpected) + lengthInBits += operationExpected.getLengthInBits(); + + // Simple field (maintenanceRequired) + lengthInBits += maintenanceRequired.getLengthInBits(); + + // Simple field (setting) + lengthInBits += setting.getLengthInBits(); + + // Simple field (directReading) + lengthInBits += directReading.getLengthInBits(); + + // Simple field (units) + lengthInBits += units.getLengthInBits(); + + // Simple field (memberOf) + lengthInBits += memberOf.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static LifeSafetyPoint staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("LifeSafetyPoint"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetLifeSafetyState")), + readBuffer)); + + ReadableProperty trackingValue = + readSimpleField( + "trackingValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetLifeSafetyState")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deviceType = + readSimpleField( + "deviceType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + WritableProperty mode = + readSimpleField( + "mode", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetLifeSafetyMode")), + readBuffer)); + + ReadableProperty acceptedModes = + readSimpleField( + "acceptedModes", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLifeSafetyMode")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty lifeSafetyAlarmValues = + readSimpleField( + "lifeSafetyAlarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLifeSafetyState")), + readBuffer)); + + OptionalProperty alarmValues = + readSimpleField( + "alarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLifeSafetyState")), + readBuffer)); + + OptionalProperty faultValues = + readSimpleField( + "faultValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLifeSafetyState")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty silenced = + readSimpleField( + "silenced", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetSilencedState")), + readBuffer)); + + ReadableProperty operationExpected = + readSimpleField( + "operationExpected", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLifeSafetyOperation")), + readBuffer)); + + OptionalProperty maintenanceRequired = + readSimpleField( + "maintenanceRequired", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetMaintenance")), + readBuffer)); + + OptionalProperty setting = + readSimpleField( + "setting", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + OptionalProperty directReading = + readSimpleField( + "directReading", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty units = + readSimpleField( + "units", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty memberOf = + readSimpleField( + "memberOf", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectReference")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("LifeSafetyPoint"); + // Create the instance + LifeSafetyPoint _lifeSafetyPoint; + _lifeSafetyPoint = + new LifeSafetyPoint( + objectIdentifier, + objectName, + objectType, + presentValue, + trackingValue, + description, + deviceType, + statusFlags, + eventState, + reliability, + outOfService, + mode, + acceptedModes, + timeDelay, + notificationClass, + lifeSafetyAlarmValues, + alarmValues, + faultValues, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + silenced, + operationExpected, + maintenanceRequired, + setting, + directReading, + units, + memberOf, + propertyList, + valueSource, + tags, + profileLocation, + profileName); + return _lifeSafetyPoint; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof LifeSafetyPoint)) { + return false; + } + LifeSafetyPoint that = (LifeSafetyPoint) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getTrackingValue() == that.getTrackingValue()) + && (getDescription() == that.getDescription()) + && (getDeviceType() == that.getDeviceType()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getMode() == that.getMode()) + && (getAcceptedModes() == that.getAcceptedModes()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getLifeSafetyAlarmValues() == that.getLifeSafetyAlarmValues()) + && (getAlarmValues() == that.getAlarmValues()) + && (getFaultValues() == that.getFaultValues()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getSilenced() == that.getSilenced()) + && (getOperationExpected() == that.getOperationExpected()) + && (getMaintenanceRequired() == that.getMaintenanceRequired()) + && (getSetting() == that.getSetting()) + && (getDirectReading() == that.getDirectReading()) + && (getUnits() == that.getUnits()) + && (getMemberOf() == that.getMemberOf()) + && (getPropertyList() == that.getPropertyList()) + && (getValueSource() == that.getValueSource()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getTrackingValue(), + getDescription(), + getDeviceType(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getMode(), + getAcceptedModes(), + getTimeDelay(), + getNotificationClass(), + getLifeSafetyAlarmValues(), + getAlarmValues(), + getFaultValues(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getSilenced(), + getOperationExpected(), + getMaintenanceRequired(), + getSetting(), + getDirectReading(), + getUnits(), + getMemberOf(), + getPropertyList(), + getValueSource(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LifeSafetyZone.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LifeSafetyZone.java new file mode 100644 index 00000000000..5f0e051176c --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LifeSafetyZone.java @@ -0,0 +1,1029 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class LifeSafetyZone implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final ReadableProperty trackingValue; + protected final OptionalProperty description; + protected final OptionalProperty deviceType; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final ReadableProperty reliability; + protected final ReadableProperty outOfService; + protected final WritableProperty mode; + protected final ReadableProperty acceptedModes; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty lifeSafetyAlarmValues; + protected final OptionalProperty alarmValues; + protected final OptionalProperty faultValues; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty silenced; + protected final ReadableProperty operationExpected; + protected final OptionalProperty maintenanceRequired; + protected final ReadableProperty zoneMembers; + protected final OptionalProperty memberOf; + protected final ReadableProperty propertyList; + protected final OptionalProperty valueSource; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public LifeSafetyZone( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + ReadableProperty trackingValue, + OptionalProperty description, + OptionalProperty deviceType, + ReadableProperty statusFlags, + ReadableProperty eventState, + ReadableProperty reliability, + ReadableProperty outOfService, + WritableProperty mode, + ReadableProperty acceptedModes, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty lifeSafetyAlarmValues, + OptionalProperty alarmValues, + OptionalProperty faultValues, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty silenced, + ReadableProperty operationExpected, + OptionalProperty maintenanceRequired, + ReadableProperty zoneMembers, + OptionalProperty memberOf, + ReadableProperty propertyList, + OptionalProperty valueSource, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.trackingValue = trackingValue; + this.description = description; + this.deviceType = deviceType; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.mode = mode; + this.acceptedModes = acceptedModes; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.lifeSafetyAlarmValues = lifeSafetyAlarmValues; + this.alarmValues = alarmValues; + this.faultValues = faultValues; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.silenced = silenced; + this.operationExpected = operationExpected; + this.maintenanceRequired = maintenanceRequired; + this.zoneMembers = zoneMembers; + this.memberOf = memberOf; + this.propertyList = propertyList; + this.valueSource = valueSource; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getTrackingValue() { + return trackingValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getDeviceType() { + return deviceType; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public WritableProperty getMode() { + return mode; + } + + public ReadableProperty getAcceptedModes() { + return acceptedModes; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getLifeSafetyAlarmValues() { + return lifeSafetyAlarmValues; + } + + public OptionalProperty getAlarmValues() { + return alarmValues; + } + + public OptionalProperty getFaultValues() { + return faultValues; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getSilenced() { + return silenced; + } + + public ReadableProperty getOperationExpected() { + return operationExpected; + } + + public OptionalProperty getMaintenanceRequired() { + return maintenanceRequired; + } + + public ReadableProperty getZoneMembers() { + return zoneMembers; + } + + public OptionalProperty getMemberOf() { + return memberOf; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("LifeSafetyZone"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (trackingValue) + writeSimpleField("trackingValue", trackingValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (deviceType) + writeSimpleField("deviceType", deviceType, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (mode) + writeSimpleField("mode", mode, writeComplex(writeBuffer)); + + // Simple Field (acceptedModes) + writeSimpleField("acceptedModes", acceptedModes, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (lifeSafetyAlarmValues) + writeSimpleField("lifeSafetyAlarmValues", lifeSafetyAlarmValues, writeComplex(writeBuffer)); + + // Simple Field (alarmValues) + writeSimpleField("alarmValues", alarmValues, writeComplex(writeBuffer)); + + // Simple Field (faultValues) + writeSimpleField("faultValues", faultValues, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (silenced) + writeSimpleField("silenced", silenced, writeComplex(writeBuffer)); + + // Simple Field (operationExpected) + writeSimpleField("operationExpected", operationExpected, writeComplex(writeBuffer)); + + // Simple Field (maintenanceRequired) + writeSimpleField("maintenanceRequired", maintenanceRequired, writeComplex(writeBuffer)); + + // Simple Field (zoneMembers) + writeSimpleField("zoneMembers", zoneMembers, writeComplex(writeBuffer)); + + // Simple Field (memberOf) + writeSimpleField("memberOf", memberOf, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("LifeSafetyZone"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + LifeSafetyZone _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (trackingValue) + lengthInBits += trackingValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (deviceType) + lengthInBits += deviceType.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (mode) + lengthInBits += mode.getLengthInBits(); + + // Simple field (acceptedModes) + lengthInBits += acceptedModes.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (lifeSafetyAlarmValues) + lengthInBits += lifeSafetyAlarmValues.getLengthInBits(); + + // Simple field (alarmValues) + lengthInBits += alarmValues.getLengthInBits(); + + // Simple field (faultValues) + lengthInBits += faultValues.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (silenced) + lengthInBits += silenced.getLengthInBits(); + + // Simple field (operationExpected) + lengthInBits += operationExpected.getLengthInBits(); + + // Simple field (maintenanceRequired) + lengthInBits += maintenanceRequired.getLengthInBits(); + + // Simple field (zoneMembers) + lengthInBits += zoneMembers.getLengthInBits(); + + // Simple field (memberOf) + lengthInBits += memberOf.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static LifeSafetyZone staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("LifeSafetyZone"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetLifeSafetyState")), + readBuffer)); + + ReadableProperty trackingValue = + readSimpleField( + "trackingValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetLifeSafetyState")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deviceType = + readSimpleField( + "deviceType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + WritableProperty mode = + readSimpleField( + "mode", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetLifeSafetyMode")), + readBuffer)); + + ReadableProperty acceptedModes = + readSimpleField( + "acceptedModes", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLifeSafetyMode")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty lifeSafetyAlarmValues = + readSimpleField( + "lifeSafetyAlarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLifeSafetyState")), + readBuffer)); + + OptionalProperty alarmValues = + readSimpleField( + "alarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLifeSafetyState")), + readBuffer)); + + OptionalProperty faultValues = + readSimpleField( + "faultValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLifeSafetyState")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty silenced = + readSimpleField( + "silenced", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetSilencedState")), + readBuffer)); + + ReadableProperty operationExpected = + readSimpleField( + "operationExpected", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLifeSafetyOperation")), + readBuffer)); + + OptionalProperty maintenanceRequired = + readSimpleField( + "maintenanceRequired", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty zoneMembers = + readSimpleField( + "zoneMembers", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty memberOf = + readSimpleField( + "memberOf", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectReference")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("LifeSafetyZone"); + // Create the instance + LifeSafetyZone _lifeSafetyZone; + _lifeSafetyZone = + new LifeSafetyZone( + objectIdentifier, + objectName, + objectType, + presentValue, + trackingValue, + description, + deviceType, + statusFlags, + eventState, + reliability, + outOfService, + mode, + acceptedModes, + timeDelay, + notificationClass, + lifeSafetyAlarmValues, + alarmValues, + faultValues, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + silenced, + operationExpected, + maintenanceRequired, + zoneMembers, + memberOf, + propertyList, + valueSource, + tags, + profileLocation, + profileName); + return _lifeSafetyZone; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof LifeSafetyZone)) { + return false; + } + LifeSafetyZone that = (LifeSafetyZone) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getTrackingValue() == that.getTrackingValue()) + && (getDescription() == that.getDescription()) + && (getDeviceType() == that.getDeviceType()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getMode() == that.getMode()) + && (getAcceptedModes() == that.getAcceptedModes()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getLifeSafetyAlarmValues() == that.getLifeSafetyAlarmValues()) + && (getAlarmValues() == that.getAlarmValues()) + && (getFaultValues() == that.getFaultValues()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getSilenced() == that.getSilenced()) + && (getOperationExpected() == that.getOperationExpected()) + && (getMaintenanceRequired() == that.getMaintenanceRequired()) + && (getZoneMembers() == that.getZoneMembers()) + && (getMemberOf() == that.getMemberOf()) + && (getPropertyList() == that.getPropertyList()) + && (getValueSource() == that.getValueSource()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getTrackingValue(), + getDescription(), + getDeviceType(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getMode(), + getAcceptedModes(), + getTimeDelay(), + getNotificationClass(), + getLifeSafetyAlarmValues(), + getAlarmValues(), + getFaultValues(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getSilenced(), + getOperationExpected(), + getMaintenanceRequired(), + getZoneMembers(), + getMemberOf(), + getPropertyList(), + getValueSource(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Lift.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Lift.java new file mode 100644 index 00000000000..442fd120228 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Lift.java @@ -0,0 +1,1309 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Lift implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty elevatorGroup; + protected final ReadableProperty groupID; + protected final ReadableProperty installationID; + protected final OptionalProperty floorText; + protected final OptionalProperty carDoorText; + protected final OptionalProperty assignedLandingCalls; + protected final OptionalProperty makingCarCall; + protected final OptionalProperty registeredCarCall; + protected final ReadableProperty carPosition; + protected final ReadableProperty carMovingDirection; + protected final OptionalProperty carAssignedDirection; + protected final ReadableProperty carDoorStatus; + protected final OptionalProperty carDoorCommand; + protected final OptionalProperty carDoorZone; + protected final OptionalProperty carMode; + protected final OptionalProperty carLoad; + protected final OptionalProperty carLoadUnits; + protected final OptionalProperty nextStoppingFloor; + protected final ReadableProperty passengerAlarm; + protected final OptionalProperty timeDelay; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty energyMeter; + protected final OptionalProperty energyMeterRef; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final OptionalProperty carDriveStatus; + protected final ReadableProperty faultSignals; + protected final OptionalProperty landingDoorStatus; + protected final OptionalProperty higherDeck; + protected final OptionalProperty lowerDeck; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty eventState; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Lift( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty elevatorGroup, + ReadableProperty groupID, + ReadableProperty installationID, + OptionalProperty floorText, + OptionalProperty carDoorText, + OptionalProperty assignedLandingCalls, + OptionalProperty makingCarCall, + OptionalProperty registeredCarCall, + ReadableProperty carPosition, + ReadableProperty carMovingDirection, + OptionalProperty carAssignedDirection, + ReadableProperty carDoorStatus, + OptionalProperty carDoorCommand, + OptionalProperty carDoorZone, + OptionalProperty carMode, + OptionalProperty carLoad, + OptionalProperty carLoadUnits, + OptionalProperty nextStoppingFloor, + ReadableProperty passengerAlarm, + OptionalProperty timeDelay, + OptionalProperty timeDelayNormal, + OptionalProperty energyMeter, + OptionalProperty energyMeterRef, + OptionalProperty reliability, + ReadableProperty outOfService, + OptionalProperty carDriveStatus, + ReadableProperty faultSignals, + OptionalProperty landingDoorStatus, + OptionalProperty higherDeck, + OptionalProperty lowerDeck, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty eventState, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.statusFlags = statusFlags; + this.elevatorGroup = elevatorGroup; + this.groupID = groupID; + this.installationID = installationID; + this.floorText = floorText; + this.carDoorText = carDoorText; + this.assignedLandingCalls = assignedLandingCalls; + this.makingCarCall = makingCarCall; + this.registeredCarCall = registeredCarCall; + this.carPosition = carPosition; + this.carMovingDirection = carMovingDirection; + this.carAssignedDirection = carAssignedDirection; + this.carDoorStatus = carDoorStatus; + this.carDoorCommand = carDoorCommand; + this.carDoorZone = carDoorZone; + this.carMode = carMode; + this.carLoad = carLoad; + this.carLoadUnits = carLoadUnits; + this.nextStoppingFloor = nextStoppingFloor; + this.passengerAlarm = passengerAlarm; + this.timeDelay = timeDelay; + this.timeDelayNormal = timeDelayNormal; + this.energyMeter = energyMeter; + this.energyMeterRef = energyMeterRef; + this.reliability = reliability; + this.outOfService = outOfService; + this.carDriveStatus = carDriveStatus; + this.faultSignals = faultSignals; + this.landingDoorStatus = landingDoorStatus; + this.higherDeck = higherDeck; + this.lowerDeck = lowerDeck; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.eventState = eventState; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getElevatorGroup() { + return elevatorGroup; + } + + public ReadableProperty getGroupID() { + return groupID; + } + + public ReadableProperty getInstallationID() { + return installationID; + } + + public OptionalProperty getFloorText() { + return floorText; + } + + public OptionalProperty getCarDoorText() { + return carDoorText; + } + + public OptionalProperty getAssignedLandingCalls() { + return assignedLandingCalls; + } + + public OptionalProperty getMakingCarCall() { + return makingCarCall; + } + + public OptionalProperty getRegisteredCarCall() { + return registeredCarCall; + } + + public ReadableProperty getCarPosition() { + return carPosition; + } + + public ReadableProperty getCarMovingDirection() { + return carMovingDirection; + } + + public OptionalProperty getCarAssignedDirection() { + return carAssignedDirection; + } + + public ReadableProperty getCarDoorStatus() { + return carDoorStatus; + } + + public OptionalProperty getCarDoorCommand() { + return carDoorCommand; + } + + public OptionalProperty getCarDoorZone() { + return carDoorZone; + } + + public OptionalProperty getCarMode() { + return carMode; + } + + public OptionalProperty getCarLoad() { + return carLoad; + } + + public OptionalProperty getCarLoadUnits() { + return carLoadUnits; + } + + public OptionalProperty getNextStoppingFloor() { + return nextStoppingFloor; + } + + public ReadableProperty getPassengerAlarm() { + return passengerAlarm; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getEnergyMeter() { + return energyMeter; + } + + public OptionalProperty getEnergyMeterRef() { + return energyMeterRef; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getCarDriveStatus() { + return carDriveStatus; + } + + public ReadableProperty getFaultSignals() { + return faultSignals; + } + + public OptionalProperty getLandingDoorStatus() { + return landingDoorStatus; + } + + public OptionalProperty getHigherDeck() { + return higherDeck; + } + + public OptionalProperty getLowerDeck() { + return lowerDeck; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Lift"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (elevatorGroup) + writeSimpleField("elevatorGroup", elevatorGroup, writeComplex(writeBuffer)); + + // Simple Field (groupID) + writeSimpleField("groupID", groupID, writeComplex(writeBuffer)); + + // Simple Field (installationID) + writeSimpleField("installationID", installationID, writeComplex(writeBuffer)); + + // Simple Field (floorText) + writeSimpleField("floorText", floorText, writeComplex(writeBuffer)); + + // Simple Field (carDoorText) + writeSimpleField("carDoorText", carDoorText, writeComplex(writeBuffer)); + + // Simple Field (assignedLandingCalls) + writeSimpleField("assignedLandingCalls", assignedLandingCalls, writeComplex(writeBuffer)); + + // Simple Field (makingCarCall) + writeSimpleField("makingCarCall", makingCarCall, writeComplex(writeBuffer)); + + // Simple Field (registeredCarCall) + writeSimpleField("registeredCarCall", registeredCarCall, writeComplex(writeBuffer)); + + // Simple Field (carPosition) + writeSimpleField("carPosition", carPosition, writeComplex(writeBuffer)); + + // Simple Field (carMovingDirection) + writeSimpleField("carMovingDirection", carMovingDirection, writeComplex(writeBuffer)); + + // Simple Field (carAssignedDirection) + writeSimpleField("carAssignedDirection", carAssignedDirection, writeComplex(writeBuffer)); + + // Simple Field (carDoorStatus) + writeSimpleField("carDoorStatus", carDoorStatus, writeComplex(writeBuffer)); + + // Simple Field (carDoorCommand) + writeSimpleField("carDoorCommand", carDoorCommand, writeComplex(writeBuffer)); + + // Simple Field (carDoorZone) + writeSimpleField("carDoorZone", carDoorZone, writeComplex(writeBuffer)); + + // Simple Field (carMode) + writeSimpleField("carMode", carMode, writeComplex(writeBuffer)); + + // Simple Field (carLoad) + writeSimpleField("carLoad", carLoad, writeComplex(writeBuffer)); + + // Simple Field (carLoadUnits) + writeSimpleField("carLoadUnits", carLoadUnits, writeComplex(writeBuffer)); + + // Simple Field (nextStoppingFloor) + writeSimpleField("nextStoppingFloor", nextStoppingFloor, writeComplex(writeBuffer)); + + // Simple Field (passengerAlarm) + writeSimpleField("passengerAlarm", passengerAlarm, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (energyMeter) + writeSimpleField("energyMeter", energyMeter, writeComplex(writeBuffer)); + + // Simple Field (energyMeterRef) + writeSimpleField("energyMeterRef", energyMeterRef, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (carDriveStatus) + writeSimpleField("carDriveStatus", carDriveStatus, writeComplex(writeBuffer)); + + // Simple Field (faultSignals) + writeSimpleField("faultSignals", faultSignals, writeComplex(writeBuffer)); + + // Simple Field (landingDoorStatus) + writeSimpleField("landingDoorStatus", landingDoorStatus, writeComplex(writeBuffer)); + + // Simple Field (higherDeck) + writeSimpleField("higherDeck", higherDeck, writeComplex(writeBuffer)); + + // Simple Field (lowerDeck) + writeSimpleField("lowerDeck", lowerDeck, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Lift"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Lift _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (elevatorGroup) + lengthInBits += elevatorGroup.getLengthInBits(); + + // Simple field (groupID) + lengthInBits += groupID.getLengthInBits(); + + // Simple field (installationID) + lengthInBits += installationID.getLengthInBits(); + + // Simple field (floorText) + lengthInBits += floorText.getLengthInBits(); + + // Simple field (carDoorText) + lengthInBits += carDoorText.getLengthInBits(); + + // Simple field (assignedLandingCalls) + lengthInBits += assignedLandingCalls.getLengthInBits(); + + // Simple field (makingCarCall) + lengthInBits += makingCarCall.getLengthInBits(); + + // Simple field (registeredCarCall) + lengthInBits += registeredCarCall.getLengthInBits(); + + // Simple field (carPosition) + lengthInBits += carPosition.getLengthInBits(); + + // Simple field (carMovingDirection) + lengthInBits += carMovingDirection.getLengthInBits(); + + // Simple field (carAssignedDirection) + lengthInBits += carAssignedDirection.getLengthInBits(); + + // Simple field (carDoorStatus) + lengthInBits += carDoorStatus.getLengthInBits(); + + // Simple field (carDoorCommand) + lengthInBits += carDoorCommand.getLengthInBits(); + + // Simple field (carDoorZone) + lengthInBits += carDoorZone.getLengthInBits(); + + // Simple field (carMode) + lengthInBits += carMode.getLengthInBits(); + + // Simple field (carLoad) + lengthInBits += carLoad.getLengthInBits(); + + // Simple field (carLoadUnits) + lengthInBits += carLoadUnits.getLengthInBits(); + + // Simple field (nextStoppingFloor) + lengthInBits += nextStoppingFloor.getLengthInBits(); + + // Simple field (passengerAlarm) + lengthInBits += passengerAlarm.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (energyMeter) + lengthInBits += energyMeter.getLengthInBits(); + + // Simple field (energyMeterRef) + lengthInBits += energyMeterRef.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (carDriveStatus) + lengthInBits += carDriveStatus.getLengthInBits(); + + // Simple field (faultSignals) + lengthInBits += faultSignals.getLengthInBits(); + + // Simple field (landingDoorStatus) + lengthInBits += landingDoorStatus.getLengthInBits(); + + // Simple field (higherDeck) + lengthInBits += higherDeck.getLengthInBits(); + + // Simple field (lowerDeck) + lengthInBits += lowerDeck.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Lift staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Lift"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty elevatorGroup = + readSimpleField( + "elevatorGroup", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty groupID = + readSimpleField( + "groupID", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + ReadableProperty installationID = + readSimpleField( + "installationID", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + OptionalProperty floorText = + readSimpleField( + "floorText", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + OptionalProperty carDoorText = + readSimpleField( + "carDoorText", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + OptionalProperty assignedLandingCalls = + readSimpleField( + "assignedLandingCalls", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetAssignedLandingCalls")), + readBuffer)); + + OptionalProperty makingCarCall = + readSimpleField( + "makingCarCall", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of Unsigned8")), + readBuffer)); + + OptionalProperty registeredCarCall = + readSimpleField( + "registeredCarCall", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetLiftCarCallList")), + readBuffer)); + + ReadableProperty carPosition = + readSimpleField( + "carPosition", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + ReadableProperty carMovingDirection = + readSimpleField( + "carMovingDirection", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetLiftCarDirection")), + readBuffer)); + + OptionalProperty carAssignedDirection = + readSimpleField( + "carAssignedDirection", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLiftCarDirection")), + readBuffer)); + + ReadableProperty carDoorStatus = + readSimpleField( + "carDoorStatus", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetDoorStatus")), + readBuffer)); + + OptionalProperty carDoorCommand = + readSimpleField( + "carDoorCommand", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetLiftCarDoorCommand")), + readBuffer)); + + OptionalProperty carDoorZone = + readSimpleField( + "carDoorZone", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty carMode = + readSimpleField( + "carMode", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLiftCarMode")), + readBuffer)); + + OptionalProperty carLoad = + readSimpleField( + "carLoad", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty carLoadUnits = + readSimpleField( + "carLoadUnits", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty nextStoppingFloor = + readSimpleField( + "nextStoppingFloor", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + ReadableProperty passengerAlarm = + readSimpleField( + "passengerAlarm", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty energyMeter = + readSimpleField( + "energyMeter", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty energyMeterRef = + readSimpleField( + "energyMeterRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty carDriveStatus = + readSimpleField( + "carDriveStatus", + readComplex( + () -> + OptionalProperty.staticParse(readBuffer, (String) ("BACnetLiftCarDriveStatus")), + readBuffer)); + + ReadableProperty faultSignals = + readSimpleField( + "faultSignals", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLiftFault")), + readBuffer)); + + OptionalProperty landingDoorStatus = + readSimpleField( + "landingDoorStatus", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetLandingDoorStatus")), + readBuffer)); + + OptionalProperty higherDeck = + readSimpleField( + "higherDeck", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + OptionalProperty lowerDeck = + readSimpleField( + "lowerDeck", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Lift"); + // Create the instance + Lift _lift; + _lift = + new Lift( + objectIdentifier, + objectName, + objectType, + description, + statusFlags, + elevatorGroup, + groupID, + installationID, + floorText, + carDoorText, + assignedLandingCalls, + makingCarCall, + registeredCarCall, + carPosition, + carMovingDirection, + carAssignedDirection, + carDoorStatus, + carDoorCommand, + carDoorZone, + carMode, + carLoad, + carLoadUnits, + nextStoppingFloor, + passengerAlarm, + timeDelay, + timeDelayNormal, + energyMeter, + energyMeterRef, + reliability, + outOfService, + carDriveStatus, + faultSignals, + landingDoorStatus, + higherDeck, + lowerDeck, + eventDetectionEnable, + notificationClass, + eventEnable, + eventState, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _lift; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Lift)) { + return false; + } + Lift that = (Lift) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getElevatorGroup() == that.getElevatorGroup()) + && (getGroupID() == that.getGroupID()) + && (getInstallationID() == that.getInstallationID()) + && (getFloorText() == that.getFloorText()) + && (getCarDoorText() == that.getCarDoorText()) + && (getAssignedLandingCalls() == that.getAssignedLandingCalls()) + && (getMakingCarCall() == that.getMakingCarCall()) + && (getRegisteredCarCall() == that.getRegisteredCarCall()) + && (getCarPosition() == that.getCarPosition()) + && (getCarMovingDirection() == that.getCarMovingDirection()) + && (getCarAssignedDirection() == that.getCarAssignedDirection()) + && (getCarDoorStatus() == that.getCarDoorStatus()) + && (getCarDoorCommand() == that.getCarDoorCommand()) + && (getCarDoorZone() == that.getCarDoorZone()) + && (getCarMode() == that.getCarMode()) + && (getCarLoad() == that.getCarLoad()) + && (getCarLoadUnits() == that.getCarLoadUnits()) + && (getNextStoppingFloor() == that.getNextStoppingFloor()) + && (getPassengerAlarm() == that.getPassengerAlarm()) + && (getTimeDelay() == that.getTimeDelay()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getEnergyMeter() == that.getEnergyMeter()) + && (getEnergyMeterRef() == that.getEnergyMeterRef()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getCarDriveStatus() == that.getCarDriveStatus()) + && (getFaultSignals() == that.getFaultSignals()) + && (getLandingDoorStatus() == that.getLandingDoorStatus()) + && (getHigherDeck() == that.getHigherDeck()) + && (getLowerDeck() == that.getLowerDeck()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getEventState() == that.getEventState()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getStatusFlags(), + getElevatorGroup(), + getGroupID(), + getInstallationID(), + getFloorText(), + getCarDoorText(), + getAssignedLandingCalls(), + getMakingCarCall(), + getRegisteredCarCall(), + getCarPosition(), + getCarMovingDirection(), + getCarAssignedDirection(), + getCarDoorStatus(), + getCarDoorCommand(), + getCarDoorZone(), + getCarMode(), + getCarLoad(), + getCarLoadUnits(), + getNextStoppingFloor(), + getPassengerAlarm(), + getTimeDelay(), + getTimeDelayNormal(), + getEnergyMeter(), + getEnergyMeterRef(), + getReliability(), + getOutOfService(), + getCarDriveStatus(), + getFaultSignals(), + getLandingDoorStatus(), + getHigherDeck(), + getLowerDeck(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getEventState(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LightingOutput.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LightingOutput.java new file mode 100644 index 00000000000..01d29c3ab7e --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LightingOutput.java @@ -0,0 +1,955 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class LightingOutput implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final WritableProperty presentValue; + protected final ReadableProperty trackingValue; + protected final WritableProperty lightingCommand; + protected final ReadableProperty inProgress; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty blinkWarnEnable; + protected final ReadableProperty egressTime; + protected final ReadableProperty egressActive; + protected final ReadableProperty defaultFadeTime; + protected final ReadableProperty defaultRampRate; + protected final ReadableProperty defaultStepIncrement; + protected final OptionalProperty transition; + protected final OptionalProperty feedbackValue; + protected final ReadableProperty priorityArray; + protected final ReadableProperty relinquishDefault; + protected final OptionalProperty power; + protected final OptionalProperty instantaneousPower; + protected final OptionalProperty minActualValue; + protected final OptionalProperty maxActualValue; + protected final ReadableProperty lightingCommandDefaultPriority; + protected final OptionalProperty cOVIncrement; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final ReadableProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public LightingOutput( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + WritableProperty presentValue, + ReadableProperty trackingValue, + WritableProperty lightingCommand, + ReadableProperty inProgress, + OptionalProperty description, + ReadableProperty statusFlags, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty blinkWarnEnable, + ReadableProperty egressTime, + ReadableProperty egressActive, + ReadableProperty defaultFadeTime, + ReadableProperty defaultRampRate, + ReadableProperty defaultStepIncrement, + OptionalProperty transition, + OptionalProperty feedbackValue, + ReadableProperty priorityArray, + ReadableProperty relinquishDefault, + OptionalProperty power, + OptionalProperty instantaneousPower, + OptionalProperty minActualValue, + OptionalProperty maxActualValue, + ReadableProperty lightingCommandDefaultPriority, + OptionalProperty cOVIncrement, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + ReadableProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.trackingValue = trackingValue; + this.lightingCommand = lightingCommand; + this.inProgress = inProgress; + this.description = description; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.outOfService = outOfService; + this.blinkWarnEnable = blinkWarnEnable; + this.egressTime = egressTime; + this.egressActive = egressActive; + this.defaultFadeTime = defaultFadeTime; + this.defaultRampRate = defaultRampRate; + this.defaultStepIncrement = defaultStepIncrement; + this.transition = transition; + this.feedbackValue = feedbackValue; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.power = power; + this.instantaneousPower = instantaneousPower; + this.minActualValue = minActualValue; + this.maxActualValue = maxActualValue; + this.lightingCommandDefaultPriority = lightingCommandDefaultPriority; + this.cOVIncrement = cOVIncrement; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public WritableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getTrackingValue() { + return trackingValue; + } + + public WritableProperty getLightingCommand() { + return lightingCommand; + } + + public ReadableProperty getInProgress() { + return inProgress; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getBlinkWarnEnable() { + return blinkWarnEnable; + } + + public ReadableProperty getEgressTime() { + return egressTime; + } + + public ReadableProperty getEgressActive() { + return egressActive; + } + + public ReadableProperty getDefaultFadeTime() { + return defaultFadeTime; + } + + public ReadableProperty getDefaultRampRate() { + return defaultRampRate; + } + + public ReadableProperty getDefaultStepIncrement() { + return defaultStepIncrement; + } + + public OptionalProperty getTransition() { + return transition; + } + + public OptionalProperty getFeedbackValue() { + return feedbackValue; + } + + public ReadableProperty getPriorityArray() { + return priorityArray; + } + + public ReadableProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getPower() { + return power; + } + + public OptionalProperty getInstantaneousPower() { + return instantaneousPower; + } + + public OptionalProperty getMinActualValue() { + return minActualValue; + } + + public OptionalProperty getMaxActualValue() { + return maxActualValue; + } + + public ReadableProperty getLightingCommandDefaultPriority() { + return lightingCommandDefaultPriority; + } + + public OptionalProperty getCOVIncrement() { + return cOVIncrement; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public ReadableProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("LightingOutput"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (trackingValue) + writeSimpleField("trackingValue", trackingValue, writeComplex(writeBuffer)); + + // Simple Field (lightingCommand) + writeSimpleField("lightingCommand", lightingCommand, writeComplex(writeBuffer)); + + // Simple Field (inProgress) + writeSimpleField("inProgress", inProgress, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (blinkWarnEnable) + writeSimpleField("blinkWarnEnable", blinkWarnEnable, writeComplex(writeBuffer)); + + // Simple Field (egressTime) + writeSimpleField("egressTime", egressTime, writeComplex(writeBuffer)); + + // Simple Field (egressActive) + writeSimpleField("egressActive", egressActive, writeComplex(writeBuffer)); + + // Simple Field (defaultFadeTime) + writeSimpleField("defaultFadeTime", defaultFadeTime, writeComplex(writeBuffer)); + + // Simple Field (defaultRampRate) + writeSimpleField("defaultRampRate", defaultRampRate, writeComplex(writeBuffer)); + + // Simple Field (defaultStepIncrement) + writeSimpleField("defaultStepIncrement", defaultStepIncrement, writeComplex(writeBuffer)); + + // Simple Field (transition) + writeSimpleField("transition", transition, writeComplex(writeBuffer)); + + // Simple Field (feedbackValue) + writeSimpleField("feedbackValue", feedbackValue, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (power) + writeSimpleField("power", power, writeComplex(writeBuffer)); + + // Simple Field (instantaneousPower) + writeSimpleField("instantaneousPower", instantaneousPower, writeComplex(writeBuffer)); + + // Simple Field (minActualValue) + writeSimpleField("minActualValue", minActualValue, writeComplex(writeBuffer)); + + // Simple Field (maxActualValue) + writeSimpleField("maxActualValue", maxActualValue, writeComplex(writeBuffer)); + + // Simple Field (lightingCommandDefaultPriority) + writeSimpleField( + "lightingCommandDefaultPriority", + lightingCommandDefaultPriority, + writeComplex(writeBuffer)); + + // Simple Field (cOVIncrement) + writeSimpleField("cOVIncrement", cOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("LightingOutput"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + LightingOutput _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (trackingValue) + lengthInBits += trackingValue.getLengthInBits(); + + // Simple field (lightingCommand) + lengthInBits += lightingCommand.getLengthInBits(); + + // Simple field (inProgress) + lengthInBits += inProgress.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (blinkWarnEnable) + lengthInBits += blinkWarnEnable.getLengthInBits(); + + // Simple field (egressTime) + lengthInBits += egressTime.getLengthInBits(); + + // Simple field (egressActive) + lengthInBits += egressActive.getLengthInBits(); + + // Simple field (defaultFadeTime) + lengthInBits += defaultFadeTime.getLengthInBits(); + + // Simple field (defaultRampRate) + lengthInBits += defaultRampRate.getLengthInBits(); + + // Simple field (defaultStepIncrement) + lengthInBits += defaultStepIncrement.getLengthInBits(); + + // Simple field (transition) + lengthInBits += transition.getLengthInBits(); + + // Simple field (feedbackValue) + lengthInBits += feedbackValue.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (power) + lengthInBits += power.getLengthInBits(); + + // Simple field (instantaneousPower) + lengthInBits += instantaneousPower.getLengthInBits(); + + // Simple field (minActualValue) + lengthInBits += minActualValue.getLengthInBits(); + + // Simple field (maxActualValue) + lengthInBits += maxActualValue.getLengthInBits(); + + // Simple field (lightingCommandDefaultPriority) + lengthInBits += lightingCommandDefaultPriority.getLengthInBits(); + + // Simple field (cOVIncrement) + lengthInBits += cOVIncrement.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static LightingOutput staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("LightingOutput"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + WritableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty trackingValue = + readSimpleField( + "trackingValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + WritableProperty lightingCommand = + readSimpleField( + "lightingCommand", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetLightingCommand")), + readBuffer)); + + ReadableProperty inProgress = + readSimpleField( + "inProgress", + readComplex( + () -> + ReadableProperty.staticParse(readBuffer, (String) ("BACnetLightingInProgress")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty blinkWarnEnable = + readSimpleField( + "blinkWarnEnable", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty egressTime = + readSimpleField( + "egressTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty egressActive = + readSimpleField( + "egressActive", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty defaultFadeTime = + readSimpleField( + "defaultFadeTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty defaultRampRate = + readSimpleField( + "defaultRampRate", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty defaultStepIncrement = + readSimpleField( + "defaultStepIncrement", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty transition = + readSimpleField( + "transition", + readComplex( + () -> + OptionalProperty.staticParse(readBuffer, (String) ("BACnetLightingTransition")), + readBuffer)); + + OptionalProperty feedbackValue = + readSimpleField( + "feedbackValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + ReadableProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty power = + readSimpleField( + "power", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty instantaneousPower = + readSimpleField( + "instantaneousPower", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty minActualValue = + readSimpleField( + "minActualValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty maxActualValue = + readSimpleField( + "maxActualValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty lightingCommandDefaultPriority = + readSimpleField( + "lightingCommandDefaultPriority", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty cOVIncrement = + readSimpleField( + "cOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + ReadableProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("LightingOutput"); + // Create the instance + LightingOutput _lightingOutput; + _lightingOutput = + new LightingOutput( + objectIdentifier, + objectName, + objectType, + presentValue, + trackingValue, + lightingCommand, + inProgress, + description, + statusFlags, + reliability, + outOfService, + blinkWarnEnable, + egressTime, + egressActive, + defaultFadeTime, + defaultRampRate, + defaultStepIncrement, + transition, + feedbackValue, + priorityArray, + relinquishDefault, + power, + instantaneousPower, + minActualValue, + maxActualValue, + lightingCommandDefaultPriority, + cOVIncrement, + reliabilityEvaluationInhibit, + propertyList, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _lightingOutput; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof LightingOutput)) { + return false; + } + LightingOutput that = (LightingOutput) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getTrackingValue() == that.getTrackingValue()) + && (getLightingCommand() == that.getLightingCommand()) + && (getInProgress() == that.getInProgress()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getBlinkWarnEnable() == that.getBlinkWarnEnable()) + && (getEgressTime() == that.getEgressTime()) + && (getEgressActive() == that.getEgressActive()) + && (getDefaultFadeTime() == that.getDefaultFadeTime()) + && (getDefaultRampRate() == that.getDefaultRampRate()) + && (getDefaultStepIncrement() == that.getDefaultStepIncrement()) + && (getTransition() == that.getTransition()) + && (getFeedbackValue() == that.getFeedbackValue()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getPower() == that.getPower()) + && (getInstantaneousPower() == that.getInstantaneousPower()) + && (getMinActualValue() == that.getMinActualValue()) + && (getMaxActualValue() == that.getMaxActualValue()) + && (getLightingCommandDefaultPriority() == that.getLightingCommandDefaultPriority()) + && (getCOVIncrement() == that.getCOVIncrement()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getTrackingValue(), + getLightingCommand(), + getInProgress(), + getDescription(), + getStatusFlags(), + getReliability(), + getOutOfService(), + getBlinkWarnEnable(), + getEgressTime(), + getEgressActive(), + getDefaultFadeTime(), + getDefaultRampRate(), + getDefaultStepIncrement(), + getTransition(), + getFeedbackValue(), + getPriorityArray(), + getRelinquishDefault(), + getPower(), + getInstantaneousPower(), + getMinActualValue(), + getMaxActualValue(), + getLightingCommandDefaultPriority(), + getCOVIncrement(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LoadControl.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LoadControl.java new file mode 100644 index 00000000000..3f51233f5ad --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/LoadControl.java @@ -0,0 +1,971 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class LoadControl implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final OptionalProperty stateDescription; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final WritableProperty requestedShedLevel; + protected final WritableProperty startTime; + protected final WritableProperty shedDuration; + protected final WritableProperty dutyWindow; + protected final WritableProperty enable; + protected final OptionalProperty fullDutyBaseline; + protected final ReadableProperty expectedShedLevel; + protected final ReadableProperty actualShedLevel; + protected final WritableProperty shedLevels; + protected final ReadableProperty shedLevelDescriptions; + protected final OptionalProperty notificationClass; + protected final OptionalProperty timeDelay; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty valueSource; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public LoadControl( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + OptionalProperty stateDescription, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + WritableProperty requestedShedLevel, + WritableProperty startTime, + WritableProperty shedDuration, + WritableProperty dutyWindow, + WritableProperty enable, + OptionalProperty fullDutyBaseline, + ReadableProperty expectedShedLevel, + ReadableProperty actualShedLevel, + WritableProperty shedLevels, + ReadableProperty shedLevelDescriptions, + OptionalProperty notificationClass, + OptionalProperty timeDelay, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty valueSource, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.stateDescription = stateDescription; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.requestedShedLevel = requestedShedLevel; + this.startTime = startTime; + this.shedDuration = shedDuration; + this.dutyWindow = dutyWindow; + this.enable = enable; + this.fullDutyBaseline = fullDutyBaseline; + this.expectedShedLevel = expectedShedLevel; + this.actualShedLevel = actualShedLevel; + this.shedLevels = shedLevels; + this.shedLevelDescriptions = shedLevelDescriptions; + this.notificationClass = notificationClass; + this.timeDelay = timeDelay; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.valueSource = valueSource; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getStateDescription() { + return stateDescription; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public WritableProperty getRequestedShedLevel() { + return requestedShedLevel; + } + + public WritableProperty getStartTime() { + return startTime; + } + + public WritableProperty getShedDuration() { + return shedDuration; + } + + public WritableProperty getDutyWindow() { + return dutyWindow; + } + + public WritableProperty getEnable() { + return enable; + } + + public OptionalProperty getFullDutyBaseline() { + return fullDutyBaseline; + } + + public ReadableProperty getExpectedShedLevel() { + return expectedShedLevel; + } + + public ReadableProperty getActualShedLevel() { + return actualShedLevel; + } + + public WritableProperty getShedLevels() { + return shedLevels; + } + + public ReadableProperty getShedLevelDescriptions() { + return shedLevelDescriptions; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("LoadControl"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (stateDescription) + writeSimpleField("stateDescription", stateDescription, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (requestedShedLevel) + writeSimpleField("requestedShedLevel", requestedShedLevel, writeComplex(writeBuffer)); + + // Simple Field (startTime) + writeSimpleField("startTime", startTime, writeComplex(writeBuffer)); + + // Simple Field (shedDuration) + writeSimpleField("shedDuration", shedDuration, writeComplex(writeBuffer)); + + // Simple Field (dutyWindow) + writeSimpleField("dutyWindow", dutyWindow, writeComplex(writeBuffer)); + + // Simple Field (enable) + writeSimpleField("enable", enable, writeComplex(writeBuffer)); + + // Simple Field (fullDutyBaseline) + writeSimpleField("fullDutyBaseline", fullDutyBaseline, writeComplex(writeBuffer)); + + // Simple Field (expectedShedLevel) + writeSimpleField("expectedShedLevel", expectedShedLevel, writeComplex(writeBuffer)); + + // Simple Field (actualShedLevel) + writeSimpleField("actualShedLevel", actualShedLevel, writeComplex(writeBuffer)); + + // Simple Field (shedLevels) + writeSimpleField("shedLevels", shedLevels, writeComplex(writeBuffer)); + + // Simple Field (shedLevelDescriptions) + writeSimpleField("shedLevelDescriptions", shedLevelDescriptions, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("LoadControl"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + LoadControl _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (stateDescription) + lengthInBits += stateDescription.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (requestedShedLevel) + lengthInBits += requestedShedLevel.getLengthInBits(); + + // Simple field (startTime) + lengthInBits += startTime.getLengthInBits(); + + // Simple field (shedDuration) + lengthInBits += shedDuration.getLengthInBits(); + + // Simple field (dutyWindow) + lengthInBits += dutyWindow.getLengthInBits(); + + // Simple field (enable) + lengthInBits += enable.getLengthInBits(); + + // Simple field (fullDutyBaseline) + lengthInBits += fullDutyBaseline.getLengthInBits(); + + // Simple field (expectedShedLevel) + lengthInBits += expectedShedLevel.getLengthInBits(); + + // Simple field (actualShedLevel) + lengthInBits += actualShedLevel.getLengthInBits(); + + // Simple field (shedLevels) + lengthInBits += shedLevels.getLengthInBits(); + + // Simple field (shedLevelDescriptions) + lengthInBits += shedLevelDescriptions.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static LoadControl staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("LoadControl"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetShedState")), + readBuffer)); + + OptionalProperty stateDescription = + readSimpleField( + "stateDescription", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + WritableProperty requestedShedLevel = + readSimpleField( + "requestedShedLevel", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetShedLevel")), + readBuffer)); + + WritableProperty startTime = + readSimpleField( + "startTime", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + WritableProperty shedDuration = + readSimpleField( + "shedDuration", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + WritableProperty dutyWindow = + readSimpleField( + "dutyWindow", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + WritableProperty enable = + readSimpleField( + "enable", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty fullDutyBaseline = + readSimpleField( + "fullDutyBaseline", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty expectedShedLevel = + readSimpleField( + "expectedShedLevel", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetShedLevel")), + readBuffer)); + + ReadableProperty actualShedLevel = + readSimpleField( + "actualShedLevel", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetShedLevel")), + readBuffer)); + + WritableProperty shedLevels = + readSimpleField( + "shedLevels", + readComplex( + () -> + WritableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of Unsigned")), + readBuffer)); + + ReadableProperty shedLevelDescriptions = + readSimpleField( + "shedLevelDescriptions", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("LoadControl"); + // Create the instance + LoadControl _loadControl; + _loadControl = + new LoadControl( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + stateDescription, + statusFlags, + eventState, + reliability, + requestedShedLevel, + startTime, + shedDuration, + dutyWindow, + enable, + fullDutyBaseline, + expectedShedLevel, + actualShedLevel, + shedLevels, + shedLevelDescriptions, + notificationClass, + timeDelay, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + valueSource, + tags, + profileLocation, + profileName); + return _loadControl; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof LoadControl)) { + return false; + } + LoadControl that = (LoadControl) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStateDescription() == that.getStateDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getRequestedShedLevel() == that.getRequestedShedLevel()) + && (getStartTime() == that.getStartTime()) + && (getShedDuration() == that.getShedDuration()) + && (getDutyWindow() == that.getDutyWindow()) + && (getEnable() == that.getEnable()) + && (getFullDutyBaseline() == that.getFullDutyBaseline()) + && (getExpectedShedLevel() == that.getExpectedShedLevel()) + && (getActualShedLevel() == that.getActualShedLevel()) + && (getShedLevels() == that.getShedLevels()) + && (getShedLevelDescriptions() == that.getShedLevelDescriptions()) + && (getNotificationClass() == that.getNotificationClass()) + && (getTimeDelay() == that.getTimeDelay()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getValueSource() == that.getValueSource()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStateDescription(), + getStatusFlags(), + getEventState(), + getReliability(), + getRequestedShedLevel(), + getStartTime(), + getShedDuration(), + getDutyWindow(), + getEnable(), + getFullDutyBaseline(), + getExpectedShedLevel(), + getActualShedLevel(), + getShedLevels(), + getShedLevelDescriptions(), + getNotificationClass(), + getTimeDelay(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getValueSource(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Loop.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Loop.java new file mode 100644 index 00000000000..7bc6711393a --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Loop.java @@ -0,0 +1,1241 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Loop implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final OptionalProperty updateInterval; + protected final ReadableProperty outputUnits; + protected final ReadableProperty manipulatedVariableReference; + protected final ReadableProperty controlledVariableReference; + protected final ReadableProperty controlledVariableValue; + protected final ReadableProperty controlledVariableUnits; + protected final ReadableProperty setpointReference; + protected final ReadableProperty setpoint; + protected final ReadableProperty action; + protected final OptionalProperty proportionalConstant; + protected final OptionalProperty proportionalConstantUnits; + protected final OptionalProperty integralConstant; + protected final OptionalProperty integralConstantUnits; + protected final OptionalProperty derivativeConstant; + protected final OptionalProperty derivativeConstantUnits; + protected final OptionalProperty bias; + protected final OptionalProperty maximumOutput; + protected final OptionalProperty minimumOutput; + protected final ReadableProperty priorityForWriting; + protected final OptionalProperty cOVIncrement; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty errorLimit; + protected final OptionalProperty deadband; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty lowDiffLimit; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Loop( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + OptionalProperty updateInterval, + ReadableProperty outputUnits, + ReadableProperty manipulatedVariableReference, + ReadableProperty controlledVariableReference, + ReadableProperty controlledVariableValue, + ReadableProperty controlledVariableUnits, + ReadableProperty setpointReference, + ReadableProperty setpoint, + ReadableProperty action, + OptionalProperty proportionalConstant, + OptionalProperty proportionalConstantUnits, + OptionalProperty integralConstant, + OptionalProperty integralConstantUnits, + OptionalProperty derivativeConstant, + OptionalProperty derivativeConstantUnits, + OptionalProperty bias, + OptionalProperty maximumOutput, + OptionalProperty minimumOutput, + ReadableProperty priorityForWriting, + OptionalProperty cOVIncrement, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty errorLimit, + OptionalProperty deadband, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty lowDiffLimit, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.updateInterval = updateInterval; + this.outputUnits = outputUnits; + this.manipulatedVariableReference = manipulatedVariableReference; + this.controlledVariableReference = controlledVariableReference; + this.controlledVariableValue = controlledVariableValue; + this.controlledVariableUnits = controlledVariableUnits; + this.setpointReference = setpointReference; + this.setpoint = setpoint; + this.action = action; + this.proportionalConstant = proportionalConstant; + this.proportionalConstantUnits = proportionalConstantUnits; + this.integralConstant = integralConstant; + this.integralConstantUnits = integralConstantUnits; + this.derivativeConstant = derivativeConstant; + this.derivativeConstantUnits = derivativeConstantUnits; + this.bias = bias; + this.maximumOutput = maximumOutput; + this.minimumOutput = minimumOutput; + this.priorityForWriting = priorityForWriting; + this.cOVIncrement = cOVIncrement; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.errorLimit = errorLimit; + this.deadband = deadband; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.lowDiffLimit = lowDiffLimit; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getUpdateInterval() { + return updateInterval; + } + + public ReadableProperty getOutputUnits() { + return outputUnits; + } + + public ReadableProperty getManipulatedVariableReference() { + return manipulatedVariableReference; + } + + public ReadableProperty getControlledVariableReference() { + return controlledVariableReference; + } + + public ReadableProperty getControlledVariableValue() { + return controlledVariableValue; + } + + public ReadableProperty getControlledVariableUnits() { + return controlledVariableUnits; + } + + public ReadableProperty getSetpointReference() { + return setpointReference; + } + + public ReadableProperty getSetpoint() { + return setpoint; + } + + public ReadableProperty getAction() { + return action; + } + + public OptionalProperty getProportionalConstant() { + return proportionalConstant; + } + + public OptionalProperty getProportionalConstantUnits() { + return proportionalConstantUnits; + } + + public OptionalProperty getIntegralConstant() { + return integralConstant; + } + + public OptionalProperty getIntegralConstantUnits() { + return integralConstantUnits; + } + + public OptionalProperty getDerivativeConstant() { + return derivativeConstant; + } + + public OptionalProperty getDerivativeConstantUnits() { + return derivativeConstantUnits; + } + + public OptionalProperty getBias() { + return bias; + } + + public OptionalProperty getMaximumOutput() { + return maximumOutput; + } + + public OptionalProperty getMinimumOutput() { + return minimumOutput; + } + + public ReadableProperty getPriorityForWriting() { + return priorityForWriting; + } + + public OptionalProperty getCOVIncrement() { + return cOVIncrement; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getErrorLimit() { + return errorLimit; + } + + public OptionalProperty getDeadband() { + return deadband; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getLowDiffLimit() { + return lowDiffLimit; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Loop"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (updateInterval) + writeSimpleField("updateInterval", updateInterval, writeComplex(writeBuffer)); + + // Simple Field (outputUnits) + writeSimpleField("outputUnits", outputUnits, writeComplex(writeBuffer)); + + // Simple Field (manipulatedVariableReference) + writeSimpleField( + "manipulatedVariableReference", manipulatedVariableReference, writeComplex(writeBuffer)); + + // Simple Field (controlledVariableReference) + writeSimpleField( + "controlledVariableReference", controlledVariableReference, writeComplex(writeBuffer)); + + // Simple Field (controlledVariableValue) + writeSimpleField("controlledVariableValue", controlledVariableValue, writeComplex(writeBuffer)); + + // Simple Field (controlledVariableUnits) + writeSimpleField("controlledVariableUnits", controlledVariableUnits, writeComplex(writeBuffer)); + + // Simple Field (setpointReference) + writeSimpleField("setpointReference", setpointReference, writeComplex(writeBuffer)); + + // Simple Field (setpoint) + writeSimpleField("setpoint", setpoint, writeComplex(writeBuffer)); + + // Simple Field (action) + writeSimpleField("action", action, writeComplex(writeBuffer)); + + // Simple Field (proportionalConstant) + writeSimpleField("proportionalConstant", proportionalConstant, writeComplex(writeBuffer)); + + // Simple Field (proportionalConstantUnits) + writeSimpleField( + "proportionalConstantUnits", proportionalConstantUnits, writeComplex(writeBuffer)); + + // Simple Field (integralConstant) + writeSimpleField("integralConstant", integralConstant, writeComplex(writeBuffer)); + + // Simple Field (integralConstantUnits) + writeSimpleField("integralConstantUnits", integralConstantUnits, writeComplex(writeBuffer)); + + // Simple Field (derivativeConstant) + writeSimpleField("derivativeConstant", derivativeConstant, writeComplex(writeBuffer)); + + // Simple Field (derivativeConstantUnits) + writeSimpleField("derivativeConstantUnits", derivativeConstantUnits, writeComplex(writeBuffer)); + + // Simple Field (bias) + writeSimpleField("bias", bias, writeComplex(writeBuffer)); + + // Simple Field (maximumOutput) + writeSimpleField("maximumOutput", maximumOutput, writeComplex(writeBuffer)); + + // Simple Field (minimumOutput) + writeSimpleField("minimumOutput", minimumOutput, writeComplex(writeBuffer)); + + // Simple Field (priorityForWriting) + writeSimpleField("priorityForWriting", priorityForWriting, writeComplex(writeBuffer)); + + // Simple Field (cOVIncrement) + writeSimpleField("cOVIncrement", cOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (errorLimit) + writeSimpleField("errorLimit", errorLimit, writeComplex(writeBuffer)); + + // Simple Field (deadband) + writeSimpleField("deadband", deadband, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (lowDiffLimit) + writeSimpleField("lowDiffLimit", lowDiffLimit, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Loop"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Loop _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (updateInterval) + lengthInBits += updateInterval.getLengthInBits(); + + // Simple field (outputUnits) + lengthInBits += outputUnits.getLengthInBits(); + + // Simple field (manipulatedVariableReference) + lengthInBits += manipulatedVariableReference.getLengthInBits(); + + // Simple field (controlledVariableReference) + lengthInBits += controlledVariableReference.getLengthInBits(); + + // Simple field (controlledVariableValue) + lengthInBits += controlledVariableValue.getLengthInBits(); + + // Simple field (controlledVariableUnits) + lengthInBits += controlledVariableUnits.getLengthInBits(); + + // Simple field (setpointReference) + lengthInBits += setpointReference.getLengthInBits(); + + // Simple field (setpoint) + lengthInBits += setpoint.getLengthInBits(); + + // Simple field (action) + lengthInBits += action.getLengthInBits(); + + // Simple field (proportionalConstant) + lengthInBits += proportionalConstant.getLengthInBits(); + + // Simple field (proportionalConstantUnits) + lengthInBits += proportionalConstantUnits.getLengthInBits(); + + // Simple field (integralConstant) + lengthInBits += integralConstant.getLengthInBits(); + + // Simple field (integralConstantUnits) + lengthInBits += integralConstantUnits.getLengthInBits(); + + // Simple field (derivativeConstant) + lengthInBits += derivativeConstant.getLengthInBits(); + + // Simple field (derivativeConstantUnits) + lengthInBits += derivativeConstantUnits.getLengthInBits(); + + // Simple field (bias) + lengthInBits += bias.getLengthInBits(); + + // Simple field (maximumOutput) + lengthInBits += maximumOutput.getLengthInBits(); + + // Simple field (minimumOutput) + lengthInBits += minimumOutput.getLengthInBits(); + + // Simple field (priorityForWriting) + lengthInBits += priorityForWriting.getLengthInBits(); + + // Simple field (cOVIncrement) + lengthInBits += cOVIncrement.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (errorLimit) + lengthInBits += errorLimit.getLengthInBits(); + + // Simple field (deadband) + lengthInBits += deadband.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (lowDiffLimit) + lengthInBits += lowDiffLimit.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Loop staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Loop"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty updateInterval = + readSimpleField( + "updateInterval", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty outputUnits = + readSimpleField( + "outputUnits", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + ReadableProperty manipulatedVariableReference = + readSimpleField( + "manipulatedVariableReference", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + ReadableProperty controlledVariableReference = + readSimpleField( + "controlledVariableReference", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + ReadableProperty controlledVariableValue = + readSimpleField( + "controlledVariableValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty controlledVariableUnits = + readSimpleField( + "controlledVariableUnits", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + ReadableProperty setpointReference = + readSimpleField( + "setpointReference", + readComplex( + () -> + ReadableProperty.staticParse(readBuffer, (String) ("BACnetSetpointReference")), + readBuffer)); + + ReadableProperty setpoint = + readSimpleField( + "setpoint", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty action = + readSimpleField( + "action", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetAction")), + readBuffer)); + + OptionalProperty proportionalConstant = + readSimpleField( + "proportionalConstant", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty proportionalConstantUnits = + readSimpleField( + "proportionalConstantUnits", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty integralConstant = + readSimpleField( + "integralConstant", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty integralConstantUnits = + readSimpleField( + "integralConstantUnits", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty derivativeConstant = + readSimpleField( + "derivativeConstant", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty derivativeConstantUnits = + readSimpleField( + "derivativeConstantUnits", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty bias = + readSimpleField( + "bias", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty maximumOutput = + readSimpleField( + "maximumOutput", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty minimumOutput = + readSimpleField( + "minimumOutput", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty priorityForWriting = + readSimpleField( + "priorityForWriting", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned(1..16)")), + readBuffer)); + + OptionalProperty cOVIncrement = + readSimpleField( + "cOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty errorLimit = + readSimpleField( + "errorLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty deadband = + readSimpleField( + "deadband", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty lowDiffLimit = + readSimpleField( + "lowDiffLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalREAL")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Loop"); + // Create the instance + Loop _loop; + _loop = + new Loop( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + statusFlags, + eventState, + reliability, + outOfService, + updateInterval, + outputUnits, + manipulatedVariableReference, + controlledVariableReference, + controlledVariableValue, + controlledVariableUnits, + setpointReference, + setpoint, + action, + proportionalConstant, + proportionalConstantUnits, + integralConstant, + integralConstantUnits, + derivativeConstant, + derivativeConstantUnits, + bias, + maximumOutput, + minimumOutput, + priorityForWriting, + cOVIncrement, + timeDelay, + notificationClass, + errorLimit, + deadband, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + lowDiffLimit, + tags, + profileLocation, + profileName); + return _loop; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Loop)) { + return false; + } + Loop that = (Loop) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getUpdateInterval() == that.getUpdateInterval()) + && (getOutputUnits() == that.getOutputUnits()) + && (getManipulatedVariableReference() == that.getManipulatedVariableReference()) + && (getControlledVariableReference() == that.getControlledVariableReference()) + && (getControlledVariableValue() == that.getControlledVariableValue()) + && (getControlledVariableUnits() == that.getControlledVariableUnits()) + && (getSetpointReference() == that.getSetpointReference()) + && (getSetpoint() == that.getSetpoint()) + && (getAction() == that.getAction()) + && (getProportionalConstant() == that.getProportionalConstant()) + && (getProportionalConstantUnits() == that.getProportionalConstantUnits()) + && (getIntegralConstant() == that.getIntegralConstant()) + && (getIntegralConstantUnits() == that.getIntegralConstantUnits()) + && (getDerivativeConstant() == that.getDerivativeConstant()) + && (getDerivativeConstantUnits() == that.getDerivativeConstantUnits()) + && (getBias() == that.getBias()) + && (getMaximumOutput() == that.getMaximumOutput()) + && (getMinimumOutput() == that.getMinimumOutput()) + && (getPriorityForWriting() == that.getPriorityForWriting()) + && (getCOVIncrement() == that.getCOVIncrement()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getErrorLimit() == that.getErrorLimit()) + && (getDeadband() == that.getDeadband()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getLowDiffLimit() == that.getLowDiffLimit()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getUpdateInterval(), + getOutputUnits(), + getManipulatedVariableReference(), + getControlledVariableReference(), + getControlledVariableValue(), + getControlledVariableUnits(), + getSetpointReference(), + getSetpoint(), + getAction(), + getProportionalConstant(), + getProportionalConstantUnits(), + getIntegralConstant(), + getIntegralConstantUnits(), + getDerivativeConstant(), + getDerivativeConstantUnits(), + getBias(), + getMaximumOutput(), + getMinimumOutput(), + getPriorityForWriting(), + getCOVIncrement(), + getTimeDelay(), + getNotificationClass(), + getErrorLimit(), + getDeadband(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getLowDiffLimit(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/MultistateInput.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/MultistateInput.java new file mode 100644 index 00000000000..4a832b331c7 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/MultistateInput.java @@ -0,0 +1,855 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class MultistateInput implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final OptionalProperty deviceType; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty numberOfStates; + protected final OptionalProperty stateText; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty alarmValues; + protected final OptionalProperty faultValues; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty interfaceValue; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public MultistateInput( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + OptionalProperty deviceType, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty numberOfStates, + OptionalProperty stateText, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty alarmValues, + OptionalProperty faultValues, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty interfaceValue, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.deviceType = deviceType; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.numberOfStates = numberOfStates; + this.stateText = stateText; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.alarmValues = alarmValues; + this.faultValues = faultValues; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.interfaceValue = interfaceValue; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getDeviceType() { + return deviceType; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getNumberOfStates() { + return numberOfStates; + } + + public OptionalProperty getStateText() { + return stateText; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getAlarmValues() { + return alarmValues; + } + + public OptionalProperty getFaultValues() { + return faultValues; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getInterfaceValue() { + return interfaceValue; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("MultistateInput"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (deviceType) + writeSimpleField("deviceType", deviceType, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (numberOfStates) + writeSimpleField("numberOfStates", numberOfStates, writeComplex(writeBuffer)); + + // Simple Field (stateText) + writeSimpleField("stateText", stateText, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (alarmValues) + writeSimpleField("alarmValues", alarmValues, writeComplex(writeBuffer)); + + // Simple Field (faultValues) + writeSimpleField("faultValues", faultValues, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (interfaceValue) + writeSimpleField("interfaceValue", interfaceValue, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("MultistateInput"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + MultistateInput _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (deviceType) + lengthInBits += deviceType.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (numberOfStates) + lengthInBits += numberOfStates.getLengthInBits(); + + // Simple field (stateText) + lengthInBits += stateText.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (alarmValues) + lengthInBits += alarmValues.getLengthInBits(); + + // Simple field (faultValues) + lengthInBits += faultValues.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (interfaceValue) + lengthInBits += interfaceValue.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static MultistateInput staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("MultistateInput"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deviceType = + readSimpleField( + "deviceType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty numberOfStates = + readSimpleField( + "numberOfStates", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty stateText = + readSimpleField( + "stateText", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alarmValues = + readSimpleField( + "alarmValues", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLIST of Unsigned")), + readBuffer)); + + OptionalProperty faultValues = + readSimpleField( + "faultValues", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLIST of Unsigned")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty interfaceValue = + readSimpleField( + "interfaceValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("MultistateInput"); + // Create the instance + MultistateInput _multistateInput; + _multistateInput = + new MultistateInput( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + deviceType, + statusFlags, + eventState, + reliability, + outOfService, + numberOfStates, + stateText, + timeDelay, + notificationClass, + alarmValues, + faultValues, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + interfaceValue, + tags, + profileLocation, + profileName); + return _multistateInput; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof MultistateInput)) { + return false; + } + MultistateInput that = (MultistateInput) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getDeviceType() == that.getDeviceType()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getNumberOfStates() == that.getNumberOfStates()) + && (getStateText() == that.getStateText()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getAlarmValues() == that.getAlarmValues()) + && (getFaultValues() == that.getFaultValues()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getInterfaceValue() == that.getInterfaceValue()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getDeviceType(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getNumberOfStates(), + getStateText(), + getTimeDelay(), + getNotificationClass(), + getAlarmValues(), + getFaultValues(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getInterfaceValue(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/MultistateOutput.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/MultistateOutput.java new file mode 100644 index 00000000000..7a5d746b954 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/MultistateOutput.java @@ -0,0 +1,995 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class MultistateOutput implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final WritableProperty presentValue; + protected final OptionalProperty description; + protected final OptionalProperty deviceType; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty numberOfStates; + protected final OptionalProperty stateText; + protected final ReadableProperty priorityArray; + protected final ReadableProperty relinquishDefault; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty feedbackValue; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty interfaceValue; + protected final ReadableProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public MultistateOutput( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + WritableProperty presentValue, + OptionalProperty description, + OptionalProperty deviceType, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty numberOfStates, + OptionalProperty stateText, + ReadableProperty priorityArray, + ReadableProperty relinquishDefault, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty feedbackValue, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty interfaceValue, + ReadableProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.deviceType = deviceType; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.numberOfStates = numberOfStates; + this.stateText = stateText; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.feedbackValue = feedbackValue; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.interfaceValue = interfaceValue; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public WritableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getDeviceType() { + return deviceType; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getNumberOfStates() { + return numberOfStates; + } + + public OptionalProperty getStateText() { + return stateText; + } + + public ReadableProperty getPriorityArray() { + return priorityArray; + } + + public ReadableProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getFeedbackValue() { + return feedbackValue; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getInterfaceValue() { + return interfaceValue; + } + + public ReadableProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("MultistateOutput"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (deviceType) + writeSimpleField("deviceType", deviceType, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (numberOfStates) + writeSimpleField("numberOfStates", numberOfStates, writeComplex(writeBuffer)); + + // Simple Field (stateText) + writeSimpleField("stateText", stateText, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (feedbackValue) + writeSimpleField("feedbackValue", feedbackValue, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (interfaceValue) + writeSimpleField("interfaceValue", interfaceValue, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("MultistateOutput"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + MultistateOutput _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (deviceType) + lengthInBits += deviceType.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (numberOfStates) + lengthInBits += numberOfStates.getLengthInBits(); + + // Simple field (stateText) + lengthInBits += stateText.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (feedbackValue) + lengthInBits += feedbackValue.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (interfaceValue) + lengthInBits += interfaceValue.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static MultistateOutput staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("MultistateOutput"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + WritableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty deviceType = + readSimpleField( + "deviceType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty numberOfStates = + readSimpleField( + "numberOfStates", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty stateText = + readSimpleField( + "stateText", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + ReadableProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + ReadableProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty feedbackValue = + readSimpleField( + "feedbackValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty interfaceValue = + readSimpleField( + "interfaceValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + ReadableProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("MultistateOutput"); + // Create the instance + MultistateOutput _multistateOutput; + _multistateOutput = + new MultistateOutput( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + deviceType, + statusFlags, + eventState, + reliability, + outOfService, + numberOfStates, + stateText, + priorityArray, + relinquishDefault, + timeDelay, + notificationClass, + feedbackValue, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + interfaceValue, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _multistateOutput; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof MultistateOutput)) { + return false; + } + MultistateOutput that = (MultistateOutput) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getDeviceType() == that.getDeviceType()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getNumberOfStates() == that.getNumberOfStates()) + && (getStateText() == that.getStateText()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getFeedbackValue() == that.getFeedbackValue()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getInterfaceValue() == that.getInterfaceValue()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getDeviceType(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getNumberOfStates(), + getStateText(), + getPriorityArray(), + getRelinquishDefault(), + getTimeDelay(), + getNotificationClass(), + getFeedbackValue(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getInterfaceValue(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/MultistateValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/MultistateValue.java new file mode 100644 index 00000000000..78e680d7434 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/MultistateValue.java @@ -0,0 +1,973 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class MultistateValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty numberOfStates; + protected final OptionalProperty stateText; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty alarmValues; + protected final OptionalProperty faultValues; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public MultistateValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty numberOfStates, + OptionalProperty stateText, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty alarmValues, + OptionalProperty faultValues, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.numberOfStates = numberOfStates; + this.stateText = stateText; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.alarmValues = alarmValues; + this.faultValues = faultValues; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getNumberOfStates() { + return numberOfStates; + } + + public OptionalProperty getStateText() { + return stateText; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getAlarmValues() { + return alarmValues; + } + + public OptionalProperty getFaultValues() { + return faultValues; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("MultistateValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (numberOfStates) + writeSimpleField("numberOfStates", numberOfStates, writeComplex(writeBuffer)); + + // Simple Field (stateText) + writeSimpleField("stateText", stateText, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (alarmValues) + writeSimpleField("alarmValues", alarmValues, writeComplex(writeBuffer)); + + // Simple Field (faultValues) + writeSimpleField("faultValues", faultValues, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("MultistateValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + MultistateValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (numberOfStates) + lengthInBits += numberOfStates.getLengthInBits(); + + // Simple field (stateText) + lengthInBits += stateText.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (alarmValues) + lengthInBits += alarmValues.getLengthInBits(); + + // Simple field (faultValues) + lengthInBits += faultValues.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static MultistateValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("MultistateValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty numberOfStates = + readSimpleField( + "numberOfStates", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty stateText = + readSimpleField( + "stateText", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alarmValues = + readSimpleField( + "alarmValues", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLIST of Unsigned")), + readBuffer)); + + OptionalProperty faultValues = + readSimpleField( + "faultValues", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLIST of Unsigned")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("MultistateValue"); + // Create the instance + MultistateValue _multistateValue; + _multistateValue = + new MultistateValue( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + statusFlags, + eventState, + reliability, + outOfService, + numberOfStates, + stateText, + priorityArray, + relinquishDefault, + timeDelay, + notificationClass, + alarmValues, + faultValues, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _multistateValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof MultistateValue)) { + return false; + } + MultistateValue that = (MultistateValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getNumberOfStates() == that.getNumberOfStates()) + && (getStateText() == that.getStateText()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getAlarmValues() == that.getAlarmValues()) + && (getFaultValues() == that.getFaultValues()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getNumberOfStates(), + getStateText(), + getPriorityArray(), + getRelinquishDefault(), + getTimeDelay(), + getNotificationClass(), + getAlarmValues(), + getFaultValues(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NetworkPort.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NetworkPort.java new file mode 100644 index 00000000000..5a0a9d56d9d --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NetworkPort.java @@ -0,0 +1,1789 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class NetworkPort implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty networkType; + protected final ReadableProperty protocolLevel; + protected final OptionalProperty referencePort; + protected final ReadableProperty networkNumber; + protected final ReadableProperty networkNumberQuality; + protected final ReadableProperty changesPending; + protected final OptionalProperty command; + protected final OptionalProperty mACAddress; + protected final ReadableProperty aPDULength; + protected final ReadableProperty linkSpeed; + protected final OptionalProperty linkSpeeds; + protected final OptionalProperty linkSpeedAutonegotiate; + protected final OptionalProperty networkInterfaceName; + protected final OptionalProperty bACnetIPMode; + protected final OptionalProperty iPAddress; + protected final OptionalProperty bACnetIPUDPPort; + protected final OptionalProperty iPSubnetMask; + protected final OptionalProperty iPDefaultGateway; + protected final OptionalProperty bACnetIPMulticastAddress; + protected final OptionalProperty iPDNSServer; + protected final OptionalProperty iPDHCPEnable; + protected final OptionalProperty iPDHCPLeaseTime; + protected final OptionalProperty iPDHCPLeaseTimeRemaining; + protected final OptionalProperty iPDHCPServer; + protected final OptionalProperty bACnetIPNATTraversal; + protected final OptionalProperty bACnetIPGlobalAddress; + protected final OptionalProperty bBMDBroadcastDistributionTable; + protected final OptionalProperty bBMDAcceptFDRegistrations; + protected final OptionalProperty bBMDForeignDeviceTable; + protected final OptionalProperty fDBBMDAddress; + protected final OptionalProperty fDSubscriptionLifetime; + protected final OptionalProperty bACnetIPv6Mode; + protected final OptionalProperty iPv6Address; + protected final OptionalProperty iPv6PrefixLength; + protected final OptionalProperty bACnetIPv6UDPPort; + protected final OptionalProperty iPv6DefaultGateway; + protected final OptionalProperty bACnetIPv6MulticastAddress; + protected final OptionalProperty iPv6DNSServer; + protected final OptionalProperty iPv6AutoAddressingEnable; + protected final OptionalProperty iPv6DHCPLeaseTime; + protected final OptionalProperty iPv6DHCPLeaseTimeRemaining; + protected final OptionalProperty iPv6DHCPServer; + protected final OptionalProperty iPv6ZoneIndex; + protected final OptionalProperty maxMaster; + protected final OptionalProperty maxInfoFrames; + protected final OptionalProperty slaveProxyEnable; + protected final OptionalProperty manualSlaveAddressBinding; + protected final OptionalProperty autoSlaveDiscovery; + protected final OptionalProperty slaveAddressBinding; + protected final OptionalProperty virtualMACAddressTable; + protected final OptionalProperty routingTable; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventState; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public NetworkPort( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty reliability, + ReadableProperty outOfService, + ReadableProperty networkType, + ReadableProperty protocolLevel, + OptionalProperty referencePort, + ReadableProperty networkNumber, + ReadableProperty networkNumberQuality, + ReadableProperty changesPending, + OptionalProperty command, + OptionalProperty mACAddress, + ReadableProperty aPDULength, + ReadableProperty linkSpeed, + OptionalProperty linkSpeeds, + OptionalProperty linkSpeedAutonegotiate, + OptionalProperty networkInterfaceName, + OptionalProperty bACnetIPMode, + OptionalProperty iPAddress, + OptionalProperty bACnetIPUDPPort, + OptionalProperty iPSubnetMask, + OptionalProperty iPDefaultGateway, + OptionalProperty bACnetIPMulticastAddress, + OptionalProperty iPDNSServer, + OptionalProperty iPDHCPEnable, + OptionalProperty iPDHCPLeaseTime, + OptionalProperty iPDHCPLeaseTimeRemaining, + OptionalProperty iPDHCPServer, + OptionalProperty bACnetIPNATTraversal, + OptionalProperty bACnetIPGlobalAddress, + OptionalProperty bBMDBroadcastDistributionTable, + OptionalProperty bBMDAcceptFDRegistrations, + OptionalProperty bBMDForeignDeviceTable, + OptionalProperty fDBBMDAddress, + OptionalProperty fDSubscriptionLifetime, + OptionalProperty bACnetIPv6Mode, + OptionalProperty iPv6Address, + OptionalProperty iPv6PrefixLength, + OptionalProperty bACnetIPv6UDPPort, + OptionalProperty iPv6DefaultGateway, + OptionalProperty bACnetIPv6MulticastAddress, + OptionalProperty iPv6DNSServer, + OptionalProperty iPv6AutoAddressingEnable, + OptionalProperty iPv6DHCPLeaseTime, + OptionalProperty iPv6DHCPLeaseTimeRemaining, + OptionalProperty iPv6DHCPServer, + OptionalProperty iPv6ZoneIndex, + OptionalProperty maxMaster, + OptionalProperty maxInfoFrames, + OptionalProperty slaveProxyEnable, + OptionalProperty manualSlaveAddressBinding, + OptionalProperty autoSlaveDiscovery, + OptionalProperty slaveAddressBinding, + OptionalProperty virtualMACAddressTable, + OptionalProperty routingTable, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventState, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.outOfService = outOfService; + this.networkType = networkType; + this.protocolLevel = protocolLevel; + this.referencePort = referencePort; + this.networkNumber = networkNumber; + this.networkNumberQuality = networkNumberQuality; + this.changesPending = changesPending; + this.command = command; + this.mACAddress = mACAddress; + this.aPDULength = aPDULength; + this.linkSpeed = linkSpeed; + this.linkSpeeds = linkSpeeds; + this.linkSpeedAutonegotiate = linkSpeedAutonegotiate; + this.networkInterfaceName = networkInterfaceName; + this.bACnetIPMode = bACnetIPMode; + this.iPAddress = iPAddress; + this.bACnetIPUDPPort = bACnetIPUDPPort; + this.iPSubnetMask = iPSubnetMask; + this.iPDefaultGateway = iPDefaultGateway; + this.bACnetIPMulticastAddress = bACnetIPMulticastAddress; + this.iPDNSServer = iPDNSServer; + this.iPDHCPEnable = iPDHCPEnable; + this.iPDHCPLeaseTime = iPDHCPLeaseTime; + this.iPDHCPLeaseTimeRemaining = iPDHCPLeaseTimeRemaining; + this.iPDHCPServer = iPDHCPServer; + this.bACnetIPNATTraversal = bACnetIPNATTraversal; + this.bACnetIPGlobalAddress = bACnetIPGlobalAddress; + this.bBMDBroadcastDistributionTable = bBMDBroadcastDistributionTable; + this.bBMDAcceptFDRegistrations = bBMDAcceptFDRegistrations; + this.bBMDForeignDeviceTable = bBMDForeignDeviceTable; + this.fDBBMDAddress = fDBBMDAddress; + this.fDSubscriptionLifetime = fDSubscriptionLifetime; + this.bACnetIPv6Mode = bACnetIPv6Mode; + this.iPv6Address = iPv6Address; + this.iPv6PrefixLength = iPv6PrefixLength; + this.bACnetIPv6UDPPort = bACnetIPv6UDPPort; + this.iPv6DefaultGateway = iPv6DefaultGateway; + this.bACnetIPv6MulticastAddress = bACnetIPv6MulticastAddress; + this.iPv6DNSServer = iPv6DNSServer; + this.iPv6AutoAddressingEnable = iPv6AutoAddressingEnable; + this.iPv6DHCPLeaseTime = iPv6DHCPLeaseTime; + this.iPv6DHCPLeaseTimeRemaining = iPv6DHCPLeaseTimeRemaining; + this.iPv6DHCPServer = iPv6DHCPServer; + this.iPv6ZoneIndex = iPv6ZoneIndex; + this.maxMaster = maxMaster; + this.maxInfoFrames = maxInfoFrames; + this.slaveProxyEnable = slaveProxyEnable; + this.manualSlaveAddressBinding = manualSlaveAddressBinding; + this.autoSlaveDiscovery = autoSlaveDiscovery; + this.slaveAddressBinding = slaveAddressBinding; + this.virtualMACAddressTable = virtualMACAddressTable; + this.routingTable = routingTable; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventState = eventState; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getNetworkType() { + return networkType; + } + + public ReadableProperty getProtocolLevel() { + return protocolLevel; + } + + public OptionalProperty getReferencePort() { + return referencePort; + } + + public ReadableProperty getNetworkNumber() { + return networkNumber; + } + + public ReadableProperty getNetworkNumberQuality() { + return networkNumberQuality; + } + + public ReadableProperty getChangesPending() { + return changesPending; + } + + public OptionalProperty getCommand() { + return command; + } + + public OptionalProperty getMACAddress() { + return mACAddress; + } + + public ReadableProperty getAPDULength() { + return aPDULength; + } + + public ReadableProperty getLinkSpeed() { + return linkSpeed; + } + + public OptionalProperty getLinkSpeeds() { + return linkSpeeds; + } + + public OptionalProperty getLinkSpeedAutonegotiate() { + return linkSpeedAutonegotiate; + } + + public OptionalProperty getNetworkInterfaceName() { + return networkInterfaceName; + } + + public OptionalProperty getBACnetIPMode() { + return bACnetIPMode; + } + + public OptionalProperty getIPAddress() { + return iPAddress; + } + + public OptionalProperty getBACnetIPUDPPort() { + return bACnetIPUDPPort; + } + + public OptionalProperty getIPSubnetMask() { + return iPSubnetMask; + } + + public OptionalProperty getIPDefaultGateway() { + return iPDefaultGateway; + } + + public OptionalProperty getBACnetIPMulticastAddress() { + return bACnetIPMulticastAddress; + } + + public OptionalProperty getIPDNSServer() { + return iPDNSServer; + } + + public OptionalProperty getIPDHCPEnable() { + return iPDHCPEnable; + } + + public OptionalProperty getIPDHCPLeaseTime() { + return iPDHCPLeaseTime; + } + + public OptionalProperty getIPDHCPLeaseTimeRemaining() { + return iPDHCPLeaseTimeRemaining; + } + + public OptionalProperty getIPDHCPServer() { + return iPDHCPServer; + } + + public OptionalProperty getBACnetIPNATTraversal() { + return bACnetIPNATTraversal; + } + + public OptionalProperty getBACnetIPGlobalAddress() { + return bACnetIPGlobalAddress; + } + + public OptionalProperty getBBMDBroadcastDistributionTable() { + return bBMDBroadcastDistributionTable; + } + + public OptionalProperty getBBMDAcceptFDRegistrations() { + return bBMDAcceptFDRegistrations; + } + + public OptionalProperty getBBMDForeignDeviceTable() { + return bBMDForeignDeviceTable; + } + + public OptionalProperty getFDBBMDAddress() { + return fDBBMDAddress; + } + + public OptionalProperty getFDSubscriptionLifetime() { + return fDSubscriptionLifetime; + } + + public OptionalProperty getBACnetIPv6Mode() { + return bACnetIPv6Mode; + } + + public OptionalProperty getIPv6Address() { + return iPv6Address; + } + + public OptionalProperty getIPv6PrefixLength() { + return iPv6PrefixLength; + } + + public OptionalProperty getBACnetIPv6UDPPort() { + return bACnetIPv6UDPPort; + } + + public OptionalProperty getIPv6DefaultGateway() { + return iPv6DefaultGateway; + } + + public OptionalProperty getBACnetIPv6MulticastAddress() { + return bACnetIPv6MulticastAddress; + } + + public OptionalProperty getIPv6DNSServer() { + return iPv6DNSServer; + } + + public OptionalProperty getIPv6AutoAddressingEnable() { + return iPv6AutoAddressingEnable; + } + + public OptionalProperty getIPv6DHCPLeaseTime() { + return iPv6DHCPLeaseTime; + } + + public OptionalProperty getIPv6DHCPLeaseTimeRemaining() { + return iPv6DHCPLeaseTimeRemaining; + } + + public OptionalProperty getIPv6DHCPServer() { + return iPv6DHCPServer; + } + + public OptionalProperty getIPv6ZoneIndex() { + return iPv6ZoneIndex; + } + + public OptionalProperty getMaxMaster() { + return maxMaster; + } + + public OptionalProperty getMaxInfoFrames() { + return maxInfoFrames; + } + + public OptionalProperty getSlaveProxyEnable() { + return slaveProxyEnable; + } + + public OptionalProperty getManualSlaveAddressBinding() { + return manualSlaveAddressBinding; + } + + public OptionalProperty getAutoSlaveDiscovery() { + return autoSlaveDiscovery; + } + + public OptionalProperty getSlaveAddressBinding() { + return slaveAddressBinding; + } + + public OptionalProperty getVirtualMACAddressTable() { + return virtualMACAddressTable; + } + + public OptionalProperty getRoutingTable() { + return routingTable; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("NetworkPort"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (networkType) + writeSimpleField("networkType", networkType, writeComplex(writeBuffer)); + + // Simple Field (protocolLevel) + writeSimpleField("protocolLevel", protocolLevel, writeComplex(writeBuffer)); + + // Simple Field (referencePort) + writeSimpleField("referencePort", referencePort, writeComplex(writeBuffer)); + + // Simple Field (networkNumber) + writeSimpleField("networkNumber", networkNumber, writeComplex(writeBuffer)); + + // Simple Field (networkNumberQuality) + writeSimpleField("networkNumberQuality", networkNumberQuality, writeComplex(writeBuffer)); + + // Simple Field (changesPending) + writeSimpleField("changesPending", changesPending, writeComplex(writeBuffer)); + + // Simple Field (command) + writeSimpleField("command", command, writeComplex(writeBuffer)); + + // Simple Field (mACAddress) + writeSimpleField("mACAddress", mACAddress, writeComplex(writeBuffer)); + + // Simple Field (aPDULength) + writeSimpleField("aPDULength", aPDULength, writeComplex(writeBuffer)); + + // Simple Field (linkSpeed) + writeSimpleField("linkSpeed", linkSpeed, writeComplex(writeBuffer)); + + // Simple Field (linkSpeeds) + writeSimpleField("linkSpeeds", linkSpeeds, writeComplex(writeBuffer)); + + // Simple Field (linkSpeedAutonegotiate) + writeSimpleField("linkSpeedAutonegotiate", linkSpeedAutonegotiate, writeComplex(writeBuffer)); + + // Simple Field (networkInterfaceName) + writeSimpleField("networkInterfaceName", networkInterfaceName, writeComplex(writeBuffer)); + + // Simple Field (bACnetIPMode) + writeSimpleField("bACnetIPMode", bACnetIPMode, writeComplex(writeBuffer)); + + // Simple Field (iPAddress) + writeSimpleField("iPAddress", iPAddress, writeComplex(writeBuffer)); + + // Simple Field (bACnetIPUDPPort) + writeSimpleField("bACnetIPUDPPort", bACnetIPUDPPort, writeComplex(writeBuffer)); + + // Simple Field (iPSubnetMask) + writeSimpleField("iPSubnetMask", iPSubnetMask, writeComplex(writeBuffer)); + + // Simple Field (iPDefaultGateway) + writeSimpleField("iPDefaultGateway", iPDefaultGateway, writeComplex(writeBuffer)); + + // Simple Field (bACnetIPMulticastAddress) + writeSimpleField( + "bACnetIPMulticastAddress", bACnetIPMulticastAddress, writeComplex(writeBuffer)); + + // Simple Field (iPDNSServer) + writeSimpleField("iPDNSServer", iPDNSServer, writeComplex(writeBuffer)); + + // Simple Field (iPDHCPEnable) + writeSimpleField("iPDHCPEnable", iPDHCPEnable, writeComplex(writeBuffer)); + + // Simple Field (iPDHCPLeaseTime) + writeSimpleField("iPDHCPLeaseTime", iPDHCPLeaseTime, writeComplex(writeBuffer)); + + // Simple Field (iPDHCPLeaseTimeRemaining) + writeSimpleField( + "iPDHCPLeaseTimeRemaining", iPDHCPLeaseTimeRemaining, writeComplex(writeBuffer)); + + // Simple Field (iPDHCPServer) + writeSimpleField("iPDHCPServer", iPDHCPServer, writeComplex(writeBuffer)); + + // Simple Field (bACnetIPNATTraversal) + writeSimpleField("bACnetIPNATTraversal", bACnetIPNATTraversal, writeComplex(writeBuffer)); + + // Simple Field (bACnetIPGlobalAddress) + writeSimpleField("bACnetIPGlobalAddress", bACnetIPGlobalAddress, writeComplex(writeBuffer)); + + // Simple Field (bBMDBroadcastDistributionTable) + writeSimpleField( + "bBMDBroadcastDistributionTable", + bBMDBroadcastDistributionTable, + writeComplex(writeBuffer)); + + // Simple Field (bBMDAcceptFDRegistrations) + writeSimpleField( + "bBMDAcceptFDRegistrations", bBMDAcceptFDRegistrations, writeComplex(writeBuffer)); + + // Simple Field (bBMDForeignDeviceTable) + writeSimpleField("bBMDForeignDeviceTable", bBMDForeignDeviceTable, writeComplex(writeBuffer)); + + // Simple Field (fDBBMDAddress) + writeSimpleField("fDBBMDAddress", fDBBMDAddress, writeComplex(writeBuffer)); + + // Simple Field (fDSubscriptionLifetime) + writeSimpleField("fDSubscriptionLifetime", fDSubscriptionLifetime, writeComplex(writeBuffer)); + + // Simple Field (bACnetIPv6Mode) + writeSimpleField("bACnetIPv6Mode", bACnetIPv6Mode, writeComplex(writeBuffer)); + + // Simple Field (iPv6Address) + writeSimpleField("iPv6Address", iPv6Address, writeComplex(writeBuffer)); + + // Simple Field (iPv6PrefixLength) + writeSimpleField("iPv6PrefixLength", iPv6PrefixLength, writeComplex(writeBuffer)); + + // Simple Field (bACnetIPv6UDPPort) + writeSimpleField("bACnetIPv6UDPPort", bACnetIPv6UDPPort, writeComplex(writeBuffer)); + + // Simple Field (iPv6DefaultGateway) + writeSimpleField("iPv6DefaultGateway", iPv6DefaultGateway, writeComplex(writeBuffer)); + + // Simple Field (bACnetIPv6MulticastAddress) + writeSimpleField( + "bACnetIPv6MulticastAddress", bACnetIPv6MulticastAddress, writeComplex(writeBuffer)); + + // Simple Field (iPv6DNSServer) + writeSimpleField("iPv6DNSServer", iPv6DNSServer, writeComplex(writeBuffer)); + + // Simple Field (iPv6AutoAddressingEnable) + writeSimpleField( + "iPv6AutoAddressingEnable", iPv6AutoAddressingEnable, writeComplex(writeBuffer)); + + // Simple Field (iPv6DHCPLeaseTime) + writeSimpleField("iPv6DHCPLeaseTime", iPv6DHCPLeaseTime, writeComplex(writeBuffer)); + + // Simple Field (iPv6DHCPLeaseTimeRemaining) + writeSimpleField( + "iPv6DHCPLeaseTimeRemaining", iPv6DHCPLeaseTimeRemaining, writeComplex(writeBuffer)); + + // Simple Field (iPv6DHCPServer) + writeSimpleField("iPv6DHCPServer", iPv6DHCPServer, writeComplex(writeBuffer)); + + // Simple Field (iPv6ZoneIndex) + writeSimpleField("iPv6ZoneIndex", iPv6ZoneIndex, writeComplex(writeBuffer)); + + // Simple Field (maxMaster) + writeSimpleField("maxMaster", maxMaster, writeComplex(writeBuffer)); + + // Simple Field (maxInfoFrames) + writeSimpleField("maxInfoFrames", maxInfoFrames, writeComplex(writeBuffer)); + + // Simple Field (slaveProxyEnable) + writeSimpleField("slaveProxyEnable", slaveProxyEnable, writeComplex(writeBuffer)); + + // Simple Field (manualSlaveAddressBinding) + writeSimpleField( + "manualSlaveAddressBinding", manualSlaveAddressBinding, writeComplex(writeBuffer)); + + // Simple Field (autoSlaveDiscovery) + writeSimpleField("autoSlaveDiscovery", autoSlaveDiscovery, writeComplex(writeBuffer)); + + // Simple Field (slaveAddressBinding) + writeSimpleField("slaveAddressBinding", slaveAddressBinding, writeComplex(writeBuffer)); + + // Simple Field (virtualMACAddressTable) + writeSimpleField("virtualMACAddressTable", virtualMACAddressTable, writeComplex(writeBuffer)); + + // Simple Field (routingTable) + writeSimpleField("routingTable", routingTable, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("NetworkPort"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + NetworkPort _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (networkType) + lengthInBits += networkType.getLengthInBits(); + + // Simple field (protocolLevel) + lengthInBits += protocolLevel.getLengthInBits(); + + // Simple field (referencePort) + lengthInBits += referencePort.getLengthInBits(); + + // Simple field (networkNumber) + lengthInBits += networkNumber.getLengthInBits(); + + // Simple field (networkNumberQuality) + lengthInBits += networkNumberQuality.getLengthInBits(); + + // Simple field (changesPending) + lengthInBits += changesPending.getLengthInBits(); + + // Simple field (command) + lengthInBits += command.getLengthInBits(); + + // Simple field (mACAddress) + lengthInBits += mACAddress.getLengthInBits(); + + // Simple field (aPDULength) + lengthInBits += aPDULength.getLengthInBits(); + + // Simple field (linkSpeed) + lengthInBits += linkSpeed.getLengthInBits(); + + // Simple field (linkSpeeds) + lengthInBits += linkSpeeds.getLengthInBits(); + + // Simple field (linkSpeedAutonegotiate) + lengthInBits += linkSpeedAutonegotiate.getLengthInBits(); + + // Simple field (networkInterfaceName) + lengthInBits += networkInterfaceName.getLengthInBits(); + + // Simple field (bACnetIPMode) + lengthInBits += bACnetIPMode.getLengthInBits(); + + // Simple field (iPAddress) + lengthInBits += iPAddress.getLengthInBits(); + + // Simple field (bACnetIPUDPPort) + lengthInBits += bACnetIPUDPPort.getLengthInBits(); + + // Simple field (iPSubnetMask) + lengthInBits += iPSubnetMask.getLengthInBits(); + + // Simple field (iPDefaultGateway) + lengthInBits += iPDefaultGateway.getLengthInBits(); + + // Simple field (bACnetIPMulticastAddress) + lengthInBits += bACnetIPMulticastAddress.getLengthInBits(); + + // Simple field (iPDNSServer) + lengthInBits += iPDNSServer.getLengthInBits(); + + // Simple field (iPDHCPEnable) + lengthInBits += iPDHCPEnable.getLengthInBits(); + + // Simple field (iPDHCPLeaseTime) + lengthInBits += iPDHCPLeaseTime.getLengthInBits(); + + // Simple field (iPDHCPLeaseTimeRemaining) + lengthInBits += iPDHCPLeaseTimeRemaining.getLengthInBits(); + + // Simple field (iPDHCPServer) + lengthInBits += iPDHCPServer.getLengthInBits(); + + // Simple field (bACnetIPNATTraversal) + lengthInBits += bACnetIPNATTraversal.getLengthInBits(); + + // Simple field (bACnetIPGlobalAddress) + lengthInBits += bACnetIPGlobalAddress.getLengthInBits(); + + // Simple field (bBMDBroadcastDistributionTable) + lengthInBits += bBMDBroadcastDistributionTable.getLengthInBits(); + + // Simple field (bBMDAcceptFDRegistrations) + lengthInBits += bBMDAcceptFDRegistrations.getLengthInBits(); + + // Simple field (bBMDForeignDeviceTable) + lengthInBits += bBMDForeignDeviceTable.getLengthInBits(); + + // Simple field (fDBBMDAddress) + lengthInBits += fDBBMDAddress.getLengthInBits(); + + // Simple field (fDSubscriptionLifetime) + lengthInBits += fDSubscriptionLifetime.getLengthInBits(); + + // Simple field (bACnetIPv6Mode) + lengthInBits += bACnetIPv6Mode.getLengthInBits(); + + // Simple field (iPv6Address) + lengthInBits += iPv6Address.getLengthInBits(); + + // Simple field (iPv6PrefixLength) + lengthInBits += iPv6PrefixLength.getLengthInBits(); + + // Simple field (bACnetIPv6UDPPort) + lengthInBits += bACnetIPv6UDPPort.getLengthInBits(); + + // Simple field (iPv6DefaultGateway) + lengthInBits += iPv6DefaultGateway.getLengthInBits(); + + // Simple field (bACnetIPv6MulticastAddress) + lengthInBits += bACnetIPv6MulticastAddress.getLengthInBits(); + + // Simple field (iPv6DNSServer) + lengthInBits += iPv6DNSServer.getLengthInBits(); + + // Simple field (iPv6AutoAddressingEnable) + lengthInBits += iPv6AutoAddressingEnable.getLengthInBits(); + + // Simple field (iPv6DHCPLeaseTime) + lengthInBits += iPv6DHCPLeaseTime.getLengthInBits(); + + // Simple field (iPv6DHCPLeaseTimeRemaining) + lengthInBits += iPv6DHCPLeaseTimeRemaining.getLengthInBits(); + + // Simple field (iPv6DHCPServer) + lengthInBits += iPv6DHCPServer.getLengthInBits(); + + // Simple field (iPv6ZoneIndex) + lengthInBits += iPv6ZoneIndex.getLengthInBits(); + + // Simple field (maxMaster) + lengthInBits += maxMaster.getLengthInBits(); + + // Simple field (maxInfoFrames) + lengthInBits += maxInfoFrames.getLengthInBits(); + + // Simple field (slaveProxyEnable) + lengthInBits += slaveProxyEnable.getLengthInBits(); + + // Simple field (manualSlaveAddressBinding) + lengthInBits += manualSlaveAddressBinding.getLengthInBits(); + + // Simple field (autoSlaveDiscovery) + lengthInBits += autoSlaveDiscovery.getLengthInBits(); + + // Simple field (slaveAddressBinding) + lengthInBits += slaveAddressBinding.getLengthInBits(); + + // Simple field (virtualMACAddressTable) + lengthInBits += virtualMACAddressTable.getLengthInBits(); + + // Simple field (routingTable) + lengthInBits += routingTable.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static NetworkPort staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("NetworkPort"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty networkType = + readSimpleField( + "networkType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetNetworkType")), + readBuffer)); + + ReadableProperty protocolLevel = + readSimpleField( + "protocolLevel", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetProtocolLevel")), + readBuffer)); + + OptionalProperty referencePort = + readSimpleField( + "referencePort", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty networkNumber = + readSimpleField( + "networkNumber", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + ReadableProperty networkNumberQuality = + readSimpleField( + "networkNumberQuality", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetNetworkNumberQuality")), + readBuffer)); + + ReadableProperty changesPending = + readSimpleField( + "changesPending", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty command = + readSimpleField( + "command", + readComplex( + () -> + OptionalProperty.staticParse(readBuffer, (String) ("BACnetNetworkPortCommand")), + readBuffer)); + + OptionalProperty mACAddress = + readSimpleField( + "mACAddress", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + ReadableProperty aPDULength = + readSimpleField( + "aPDULength", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty linkSpeed = + readSimpleField( + "linkSpeed", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty linkSpeeds = + readSimpleField( + "linkSpeeds", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetARRAY[N] of REAL")), + readBuffer)); + + OptionalProperty linkSpeedAutonegotiate = + readSimpleField( + "linkSpeedAutonegotiate", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty networkInterfaceName = + readSimpleField( + "networkInterfaceName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty bACnetIPMode = + readSimpleField( + "bACnetIPMode", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetIPMode")), + readBuffer)); + + OptionalProperty iPAddress = + readSimpleField( + "iPAddress", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty bACnetIPUDPPort = + readSimpleField( + "bACnetIPUDPPort", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + OptionalProperty iPSubnetMask = + readSimpleField( + "iPSubnetMask", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty iPDefaultGateway = + readSimpleField( + "iPDefaultGateway", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty bACnetIPMulticastAddress = + readSimpleField( + "bACnetIPMulticastAddress", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty iPDNSServer = + readSimpleField( + "iPDNSServer", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of OCTET STRING")), + readBuffer)); + + OptionalProperty iPDHCPEnable = + readSimpleField( + "iPDHCPEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty iPDHCPLeaseTime = + readSimpleField( + "iPDHCPLeaseTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty iPDHCPLeaseTimeRemaining = + readSimpleField( + "iPDHCPLeaseTimeRemaining", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty iPDHCPServer = + readSimpleField( + "iPDHCPServer", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty bACnetIPNATTraversal = + readSimpleField( + "bACnetIPNATTraversal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty bACnetIPGlobalAddress = + readSimpleField( + "bACnetIPGlobalAddress", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetHostNPort")), + readBuffer)); + + OptionalProperty bBMDBroadcastDistributionTable = + readSimpleField( + "bBMDBroadcastDistributionTable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetBDTEntry")), + readBuffer)); + + OptionalProperty bBMDAcceptFDRegistrations = + readSimpleField( + "bBMDAcceptFDRegistrations", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty bBMDForeignDeviceTable = + readSimpleField( + "bBMDForeignDeviceTable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetFDTEntry")), + readBuffer)); + + OptionalProperty fDBBMDAddress = + readSimpleField( + "fDBBMDAddress", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetHostNPort")), + readBuffer)); + + OptionalProperty fDSubscriptionLifetime = + readSimpleField( + "fDSubscriptionLifetime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + OptionalProperty bACnetIPv6Mode = + readSimpleField( + "bACnetIPv6Mode", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetIPMode")), + readBuffer)); + + OptionalProperty iPv6Address = + readSimpleField( + "iPv6Address", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty iPv6PrefixLength = + readSimpleField( + "iPv6PrefixLength", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + OptionalProperty bACnetIPv6UDPPort = + readSimpleField( + "bACnetIPv6UDPPort", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + OptionalProperty iPv6DefaultGateway = + readSimpleField( + "iPv6DefaultGateway", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty bACnetIPv6MulticastAddress = + readSimpleField( + "bACnetIPv6MulticastAddress", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty iPv6DNSServer = + readSimpleField( + "iPv6DNSServer", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of OCTET STRING")), + readBuffer)); + + OptionalProperty iPv6AutoAddressingEnable = + readSimpleField( + "iPv6AutoAddressingEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty iPv6DHCPLeaseTime = + readSimpleField( + "iPv6DHCPLeaseTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty iPv6DHCPLeaseTimeRemaining = + readSimpleField( + "iPv6DHCPLeaseTimeRemaining", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty iPv6DHCPServer = + readSimpleField( + "iPv6DHCPServer", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty iPv6ZoneIndex = + readSimpleField( + "iPv6ZoneIndex", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty maxMaster = + readSimpleField( + "maxMaster", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned8(0..127)")), + readBuffer)); + + OptionalProperty maxInfoFrames = + readSimpleField( + "maxInfoFrames", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + OptionalProperty slaveProxyEnable = + readSimpleField( + "slaveProxyEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty manualSlaveAddressBinding = + readSimpleField( + "manualSlaveAddressBinding", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetAddressBinding")), + readBuffer)); + + OptionalProperty autoSlaveDiscovery = + readSimpleField( + "autoSlaveDiscovery", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty slaveAddressBinding = + readSimpleField( + "slaveAddressBinding", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetAddressBinding")), + readBuffer)); + + OptionalProperty virtualMACAddressTable = + readSimpleField( + "virtualMACAddressTable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetVMACEntry")), + readBuffer)); + + OptionalProperty routingTable = + readSimpleField( + "routingTable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetRouterEntry")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("NetworkPort"); + // Create the instance + NetworkPort _networkPort; + _networkPort = + new NetworkPort( + objectIdentifier, + objectName, + objectType, + description, + statusFlags, + reliability, + outOfService, + networkType, + protocolLevel, + referencePort, + networkNumber, + networkNumberQuality, + changesPending, + command, + mACAddress, + aPDULength, + linkSpeed, + linkSpeeds, + linkSpeedAutonegotiate, + networkInterfaceName, + bACnetIPMode, + iPAddress, + bACnetIPUDPPort, + iPSubnetMask, + iPDefaultGateway, + bACnetIPMulticastAddress, + iPDNSServer, + iPDHCPEnable, + iPDHCPLeaseTime, + iPDHCPLeaseTimeRemaining, + iPDHCPServer, + bACnetIPNATTraversal, + bACnetIPGlobalAddress, + bBMDBroadcastDistributionTable, + bBMDAcceptFDRegistrations, + bBMDForeignDeviceTable, + fDBBMDAddress, + fDSubscriptionLifetime, + bACnetIPv6Mode, + iPv6Address, + iPv6PrefixLength, + bACnetIPv6UDPPort, + iPv6DefaultGateway, + bACnetIPv6MulticastAddress, + iPv6DNSServer, + iPv6AutoAddressingEnable, + iPv6DHCPLeaseTime, + iPv6DHCPLeaseTimeRemaining, + iPv6DHCPServer, + iPv6ZoneIndex, + maxMaster, + maxInfoFrames, + slaveProxyEnable, + manualSlaveAddressBinding, + autoSlaveDiscovery, + slaveAddressBinding, + virtualMACAddressTable, + routingTable, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventState, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _networkPort; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof NetworkPort)) { + return false; + } + NetworkPort that = (NetworkPort) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getNetworkType() == that.getNetworkType()) + && (getProtocolLevel() == that.getProtocolLevel()) + && (getReferencePort() == that.getReferencePort()) + && (getNetworkNumber() == that.getNetworkNumber()) + && (getNetworkNumberQuality() == that.getNetworkNumberQuality()) + && (getChangesPending() == that.getChangesPending()) + && (getCommand() == that.getCommand()) + && (getMACAddress() == that.getMACAddress()) + && (getAPDULength() == that.getAPDULength()) + && (getLinkSpeed() == that.getLinkSpeed()) + && (getLinkSpeeds() == that.getLinkSpeeds()) + && (getLinkSpeedAutonegotiate() == that.getLinkSpeedAutonegotiate()) + && (getNetworkInterfaceName() == that.getNetworkInterfaceName()) + && (getBACnetIPMode() == that.getBACnetIPMode()) + && (getIPAddress() == that.getIPAddress()) + && (getBACnetIPUDPPort() == that.getBACnetIPUDPPort()) + && (getIPSubnetMask() == that.getIPSubnetMask()) + && (getIPDefaultGateway() == that.getIPDefaultGateway()) + && (getBACnetIPMulticastAddress() == that.getBACnetIPMulticastAddress()) + && (getIPDNSServer() == that.getIPDNSServer()) + && (getIPDHCPEnable() == that.getIPDHCPEnable()) + && (getIPDHCPLeaseTime() == that.getIPDHCPLeaseTime()) + && (getIPDHCPLeaseTimeRemaining() == that.getIPDHCPLeaseTimeRemaining()) + && (getIPDHCPServer() == that.getIPDHCPServer()) + && (getBACnetIPNATTraversal() == that.getBACnetIPNATTraversal()) + && (getBACnetIPGlobalAddress() == that.getBACnetIPGlobalAddress()) + && (getBBMDBroadcastDistributionTable() == that.getBBMDBroadcastDistributionTable()) + && (getBBMDAcceptFDRegistrations() == that.getBBMDAcceptFDRegistrations()) + && (getBBMDForeignDeviceTable() == that.getBBMDForeignDeviceTable()) + && (getFDBBMDAddress() == that.getFDBBMDAddress()) + && (getFDSubscriptionLifetime() == that.getFDSubscriptionLifetime()) + && (getBACnetIPv6Mode() == that.getBACnetIPv6Mode()) + && (getIPv6Address() == that.getIPv6Address()) + && (getIPv6PrefixLength() == that.getIPv6PrefixLength()) + && (getBACnetIPv6UDPPort() == that.getBACnetIPv6UDPPort()) + && (getIPv6DefaultGateway() == that.getIPv6DefaultGateway()) + && (getBACnetIPv6MulticastAddress() == that.getBACnetIPv6MulticastAddress()) + && (getIPv6DNSServer() == that.getIPv6DNSServer()) + && (getIPv6AutoAddressingEnable() == that.getIPv6AutoAddressingEnable()) + && (getIPv6DHCPLeaseTime() == that.getIPv6DHCPLeaseTime()) + && (getIPv6DHCPLeaseTimeRemaining() == that.getIPv6DHCPLeaseTimeRemaining()) + && (getIPv6DHCPServer() == that.getIPv6DHCPServer()) + && (getIPv6ZoneIndex() == that.getIPv6ZoneIndex()) + && (getMaxMaster() == that.getMaxMaster()) + && (getMaxInfoFrames() == that.getMaxInfoFrames()) + && (getSlaveProxyEnable() == that.getSlaveProxyEnable()) + && (getManualSlaveAddressBinding() == that.getManualSlaveAddressBinding()) + && (getAutoSlaveDiscovery() == that.getAutoSlaveDiscovery()) + && (getSlaveAddressBinding() == that.getSlaveAddressBinding()) + && (getVirtualMACAddressTable() == that.getVirtualMACAddressTable()) + && (getRoutingTable() == that.getRoutingTable()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventState() == that.getEventState()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getStatusFlags(), + getReliability(), + getOutOfService(), + getNetworkType(), + getProtocolLevel(), + getReferencePort(), + getNetworkNumber(), + getNetworkNumberQuality(), + getChangesPending(), + getCommand(), + getMACAddress(), + getAPDULength(), + getLinkSpeed(), + getLinkSpeeds(), + getLinkSpeedAutonegotiate(), + getNetworkInterfaceName(), + getBACnetIPMode(), + getIPAddress(), + getBACnetIPUDPPort(), + getIPSubnetMask(), + getIPDefaultGateway(), + getBACnetIPMulticastAddress(), + getIPDNSServer(), + getIPDHCPEnable(), + getIPDHCPLeaseTime(), + getIPDHCPLeaseTimeRemaining(), + getIPDHCPServer(), + getBACnetIPNATTraversal(), + getBACnetIPGlobalAddress(), + getBBMDBroadcastDistributionTable(), + getBBMDAcceptFDRegistrations(), + getBBMDForeignDeviceTable(), + getFDBBMDAddress(), + getFDSubscriptionLifetime(), + getBACnetIPv6Mode(), + getIPv6Address(), + getIPv6PrefixLength(), + getBACnetIPv6UDPPort(), + getIPv6DefaultGateway(), + getBACnetIPv6MulticastAddress(), + getIPv6DNSServer(), + getIPv6AutoAddressingEnable(), + getIPv6DHCPLeaseTime(), + getIPv6DHCPLeaseTimeRemaining(), + getIPv6DHCPServer(), + getIPv6ZoneIndex(), + getMaxMaster(), + getMaxInfoFrames(), + getSlaveProxyEnable(), + getManualSlaveAddressBinding(), + getAutoSlaveDiscovery(), + getSlaveAddressBinding(), + getVirtualMACAddressTable(), + getRoutingTable(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventState(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NetworkSecurity.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NetworkSecurity.java new file mode 100644 index 00000000000..7f158285b6c --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NetworkSecurity.java @@ -0,0 +1,554 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class NetworkSecurity implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final WritableProperty baseDeviceSecurityPolicy; + protected final WritableProperty networkAccessSecurityPolicies; + protected final WritableProperty securityTimeWindow; + protected final WritableProperty packetReorderTime; + protected final ReadableProperty distributionKeyRevision; + protected final ReadableProperty keySets; + protected final WritableProperty lastKeyServer; + protected final WritableProperty securityPDUTimeout; + protected final ReadableProperty updateKeySetTimeout; + protected final ReadableProperty supportedSecurityAlgorithms; + protected final WritableProperty doNotHide; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public NetworkSecurity( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + WritableProperty baseDeviceSecurityPolicy, + WritableProperty networkAccessSecurityPolicies, + WritableProperty securityTimeWindow, + WritableProperty packetReorderTime, + ReadableProperty distributionKeyRevision, + ReadableProperty keySets, + WritableProperty lastKeyServer, + WritableProperty securityPDUTimeout, + ReadableProperty updateKeySetTimeout, + ReadableProperty supportedSecurityAlgorithms, + WritableProperty doNotHide, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.baseDeviceSecurityPolicy = baseDeviceSecurityPolicy; + this.networkAccessSecurityPolicies = networkAccessSecurityPolicies; + this.securityTimeWindow = securityTimeWindow; + this.packetReorderTime = packetReorderTime; + this.distributionKeyRevision = distributionKeyRevision; + this.keySets = keySets; + this.lastKeyServer = lastKeyServer; + this.securityPDUTimeout = securityPDUTimeout; + this.updateKeySetTimeout = updateKeySetTimeout; + this.supportedSecurityAlgorithms = supportedSecurityAlgorithms; + this.doNotHide = doNotHide; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public WritableProperty getBaseDeviceSecurityPolicy() { + return baseDeviceSecurityPolicy; + } + + public WritableProperty getNetworkAccessSecurityPolicies() { + return networkAccessSecurityPolicies; + } + + public WritableProperty getSecurityTimeWindow() { + return securityTimeWindow; + } + + public WritableProperty getPacketReorderTime() { + return packetReorderTime; + } + + public ReadableProperty getDistributionKeyRevision() { + return distributionKeyRevision; + } + + public ReadableProperty getKeySets() { + return keySets; + } + + public WritableProperty getLastKeyServer() { + return lastKeyServer; + } + + public WritableProperty getSecurityPDUTimeout() { + return securityPDUTimeout; + } + + public ReadableProperty getUpdateKeySetTimeout() { + return updateKeySetTimeout; + } + + public ReadableProperty getSupportedSecurityAlgorithms() { + return supportedSecurityAlgorithms; + } + + public WritableProperty getDoNotHide() { + return doNotHide; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("NetworkSecurity"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (baseDeviceSecurityPolicy) + writeSimpleField( + "baseDeviceSecurityPolicy", baseDeviceSecurityPolicy, writeComplex(writeBuffer)); + + // Simple Field (networkAccessSecurityPolicies) + writeSimpleField( + "networkAccessSecurityPolicies", networkAccessSecurityPolicies, writeComplex(writeBuffer)); + + // Simple Field (securityTimeWindow) + writeSimpleField("securityTimeWindow", securityTimeWindow, writeComplex(writeBuffer)); + + // Simple Field (packetReorderTime) + writeSimpleField("packetReorderTime", packetReorderTime, writeComplex(writeBuffer)); + + // Simple Field (distributionKeyRevision) + writeSimpleField("distributionKeyRevision", distributionKeyRevision, writeComplex(writeBuffer)); + + // Simple Field (keySets) + writeSimpleField("keySets", keySets, writeComplex(writeBuffer)); + + // Simple Field (lastKeyServer) + writeSimpleField("lastKeyServer", lastKeyServer, writeComplex(writeBuffer)); + + // Simple Field (securityPDUTimeout) + writeSimpleField("securityPDUTimeout", securityPDUTimeout, writeComplex(writeBuffer)); + + // Simple Field (updateKeySetTimeout) + writeSimpleField("updateKeySetTimeout", updateKeySetTimeout, writeComplex(writeBuffer)); + + // Simple Field (supportedSecurityAlgorithms) + writeSimpleField( + "supportedSecurityAlgorithms", supportedSecurityAlgorithms, writeComplex(writeBuffer)); + + // Simple Field (doNotHide) + writeSimpleField("doNotHide", doNotHide, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("NetworkSecurity"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + NetworkSecurity _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (baseDeviceSecurityPolicy) + lengthInBits += baseDeviceSecurityPolicy.getLengthInBits(); + + // Simple field (networkAccessSecurityPolicies) + lengthInBits += networkAccessSecurityPolicies.getLengthInBits(); + + // Simple field (securityTimeWindow) + lengthInBits += securityTimeWindow.getLengthInBits(); + + // Simple field (packetReorderTime) + lengthInBits += packetReorderTime.getLengthInBits(); + + // Simple field (distributionKeyRevision) + lengthInBits += distributionKeyRevision.getLengthInBits(); + + // Simple field (keySets) + lengthInBits += keySets.getLengthInBits(); + + // Simple field (lastKeyServer) + lengthInBits += lastKeyServer.getLengthInBits(); + + // Simple field (securityPDUTimeout) + lengthInBits += securityPDUTimeout.getLengthInBits(); + + // Simple field (updateKeySetTimeout) + lengthInBits += updateKeySetTimeout.getLengthInBits(); + + // Simple field (supportedSecurityAlgorithms) + lengthInBits += supportedSecurityAlgorithms.getLengthInBits(); + + // Simple field (doNotHide) + lengthInBits += doNotHide.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static NetworkSecurity staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("NetworkSecurity"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + WritableProperty baseDeviceSecurityPolicy = + readSimpleField( + "baseDeviceSecurityPolicy", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetSecurityLevel")), + readBuffer)); + + WritableProperty networkAccessSecurityPolicies = + readSimpleField( + "networkAccessSecurityPolicies", + readComplex( + () -> + WritableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNetworkSecurityPolicy")), + readBuffer)); + + WritableProperty securityTimeWindow = + readSimpleField( + "securityTimeWindow", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + WritableProperty packetReorderTime = + readSimpleField( + "packetReorderTime", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty distributionKeyRevision = + readSimpleField( + "distributionKeyRevision", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned8")), + readBuffer)); + + ReadableProperty keySets = + readSimpleField( + "keySets", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[2] of BACnetSecurityKeySet")), + readBuffer)); + + WritableProperty lastKeyServer = + readSimpleField( + "lastKeyServer", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetAddressBinding")), + readBuffer)); + + WritableProperty securityPDUTimeout = + readSimpleField( + "securityPDUTimeout", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + ReadableProperty updateKeySetTimeout = + readSimpleField( + "updateKeySetTimeout", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned16")), + readBuffer)); + + ReadableProperty supportedSecurityAlgorithms = + readSimpleField( + "supportedSecurityAlgorithms", + readComplex( + () -> + ReadableProperty.staticParse(readBuffer, (String) ("BACnetLIST of Unsigned8")), + readBuffer)); + + WritableProperty doNotHide = + readSimpleField( + "doNotHide", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("NetworkSecurity"); + // Create the instance + NetworkSecurity _networkSecurity; + _networkSecurity = + new NetworkSecurity( + objectIdentifier, + objectName, + objectType, + description, + baseDeviceSecurityPolicy, + networkAccessSecurityPolicies, + securityTimeWindow, + packetReorderTime, + distributionKeyRevision, + keySets, + lastKeyServer, + securityPDUTimeout, + updateKeySetTimeout, + supportedSecurityAlgorithms, + doNotHide, + propertyList, + tags, + profileLocation, + profileName); + return _networkSecurity; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof NetworkSecurity)) { + return false; + } + NetworkSecurity that = (NetworkSecurity) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getBaseDeviceSecurityPolicy() == that.getBaseDeviceSecurityPolicy()) + && (getNetworkAccessSecurityPolicies() == that.getNetworkAccessSecurityPolicies()) + && (getSecurityTimeWindow() == that.getSecurityTimeWindow()) + && (getPacketReorderTime() == that.getPacketReorderTime()) + && (getDistributionKeyRevision() == that.getDistributionKeyRevision()) + && (getKeySets() == that.getKeySets()) + && (getLastKeyServer() == that.getLastKeyServer()) + && (getSecurityPDUTimeout() == that.getSecurityPDUTimeout()) + && (getUpdateKeySetTimeout() == that.getUpdateKeySetTimeout()) + && (getSupportedSecurityAlgorithms() == that.getSupportedSecurityAlgorithms()) + && (getDoNotHide() == that.getDoNotHide()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getBaseDeviceSecurityPolicy(), + getNetworkAccessSecurityPolicies(), + getSecurityTimeWindow(), + getPacketReorderTime(), + getDistributionKeyRevision(), + getKeySets(), + getLastKeyServer(), + getSecurityPDUTimeout(), + getUpdateKeySetTimeout(), + getSupportedSecurityAlgorithms(), + getDoNotHide(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NotificationClass.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NotificationClass.java new file mode 100644 index 00000000000..9a94199a3be --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NotificationClass.java @@ -0,0 +1,655 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class NotificationClass implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty notificationClass; + protected final ReadableProperty priority; + protected final ReadableProperty ackRequired; + protected final ReadableProperty recipientList; + protected final ReadableProperty propertyList; + protected final OptionalProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public NotificationClass( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty notificationClass, + ReadableProperty priority, + ReadableProperty ackRequired, + ReadableProperty recipientList, + ReadableProperty propertyList, + OptionalProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty eventDetectionEnable, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty reliabilityEvaluationInhibit, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.notificationClass = notificationClass; + this.priority = priority; + this.ackRequired = ackRequired; + this.recipientList = recipientList; + this.propertyList = propertyList; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.eventDetectionEnable = eventDetectionEnable; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getNotificationClass() { + return notificationClass; + } + + public ReadableProperty getPriority() { + return priority; + } + + public ReadableProperty getAckRequired() { + return ackRequired; + } + + public ReadableProperty getRecipientList() { + return recipientList; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("NotificationClass"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (priority) + writeSimpleField("priority", priority, writeComplex(writeBuffer)); + + // Simple Field (ackRequired) + writeSimpleField("ackRequired", ackRequired, writeComplex(writeBuffer)); + + // Simple Field (recipientList) + writeSimpleField("recipientList", recipientList, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("NotificationClass"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + NotificationClass _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (priority) + lengthInBits += priority.getLengthInBits(); + + // Simple field (ackRequired) + lengthInBits += ackRequired.getLengthInBits(); + + // Simple field (recipientList) + lengthInBits += recipientList.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static NotificationClass staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("NotificationClass"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty priority = + readSimpleField( + "priority", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of Unsigned")), + readBuffer)); + + ReadableProperty ackRequired = + readSimpleField( + "ackRequired", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + ReadableProperty recipientList = + readSimpleField( + "recipientList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDestination")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("NotificationClass"); + // Create the instance + NotificationClass _notificationClass; + _notificationClass = + new NotificationClass( + objectIdentifier, + objectName, + objectType, + description, + notificationClass, + priority, + ackRequired, + recipientList, + propertyList, + statusFlags, + eventState, + reliability, + eventDetectionEnable, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + reliabilityEvaluationInhibit, + tags, + profileLocation, + profileName); + return _notificationClass; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof NotificationClass)) { + return false; + } + NotificationClass that = (NotificationClass) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getNotificationClass() == that.getNotificationClass()) + && (getPriority() == that.getPriority()) + && (getAckRequired() == that.getAckRequired()) + && (getRecipientList() == that.getRecipientList()) + && (getPropertyList() == that.getPropertyList()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getNotificationClass(), + getPriority(), + getAckRequired(), + getRecipientList(), + getPropertyList(), + getStatusFlags(), + getEventState(), + getReliability(), + getEventDetectionEnable(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getReliabilityEvaluationInhibit(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NotificationForwarder.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NotificationForwarder.java new file mode 100644 index 00000000000..a056f4bbbcf --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/NotificationForwarder.java @@ -0,0 +1,508 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class NotificationForwarder implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty recipientList; + protected final WritableProperty subscribedRecipients; + protected final ReadableProperty processIdentifierFilter; + protected final OptionalProperty portFilter; + protected final ReadableProperty localForwardingOnly; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public NotificationForwarder( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty reliability, + ReadableProperty outOfService, + ReadableProperty recipientList, + WritableProperty subscribedRecipients, + ReadableProperty processIdentifierFilter, + OptionalProperty portFilter, + ReadableProperty localForwardingOnly, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.outOfService = outOfService; + this.recipientList = recipientList; + this.subscribedRecipients = subscribedRecipients; + this.processIdentifierFilter = processIdentifierFilter; + this.portFilter = portFilter; + this.localForwardingOnly = localForwardingOnly; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getRecipientList() { + return recipientList; + } + + public WritableProperty getSubscribedRecipients() { + return subscribedRecipients; + } + + public ReadableProperty getProcessIdentifierFilter() { + return processIdentifierFilter; + } + + public OptionalProperty getPortFilter() { + return portFilter; + } + + public ReadableProperty getLocalForwardingOnly() { + return localForwardingOnly; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("NotificationForwarder"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (recipientList) + writeSimpleField("recipientList", recipientList, writeComplex(writeBuffer)); + + // Simple Field (subscribedRecipients) + writeSimpleField("subscribedRecipients", subscribedRecipients, writeComplex(writeBuffer)); + + // Simple Field (processIdentifierFilter) + writeSimpleField("processIdentifierFilter", processIdentifierFilter, writeComplex(writeBuffer)); + + // Simple Field (portFilter) + writeSimpleField("portFilter", portFilter, writeComplex(writeBuffer)); + + // Simple Field (localForwardingOnly) + writeSimpleField("localForwardingOnly", localForwardingOnly, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("NotificationForwarder"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + NotificationForwarder _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (recipientList) + lengthInBits += recipientList.getLengthInBits(); + + // Simple field (subscribedRecipients) + lengthInBits += subscribedRecipients.getLengthInBits(); + + // Simple field (processIdentifierFilter) + lengthInBits += processIdentifierFilter.getLengthInBits(); + + // Simple field (portFilter) + lengthInBits += portFilter.getLengthInBits(); + + // Simple field (localForwardingOnly) + lengthInBits += localForwardingOnly.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static NotificationForwarder staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("NotificationForwarder"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty recipientList = + readSimpleField( + "recipientList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDestination")), + readBuffer)); + + WritableProperty subscribedRecipients = + readSimpleField( + "subscribedRecipients", + readComplex( + () -> + WritableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetEventNotificationSubscription")), + readBuffer)); + + ReadableProperty processIdentifierFilter = + readSimpleField( + "processIdentifierFilter", + readComplex( + () -> + ReadableProperty.staticParse(readBuffer, (String) ("BACnetProcessIdSelection")), + readBuffer)); + + OptionalProperty portFilter = + readSimpleField( + "portFilter", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPortPermission")), + readBuffer)); + + ReadableProperty localForwardingOnly = + readSimpleField( + "localForwardingOnly", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("NotificationForwarder"); + // Create the instance + NotificationForwarder _notificationForwarder; + _notificationForwarder = + new NotificationForwarder( + objectIdentifier, + objectName, + objectType, + description, + statusFlags, + reliability, + outOfService, + recipientList, + subscribedRecipients, + processIdentifierFilter, + portFilter, + localForwardingOnly, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _notificationForwarder; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof NotificationForwarder)) { + return false; + } + NotificationForwarder that = (NotificationForwarder) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getRecipientList() == that.getRecipientList()) + && (getSubscribedRecipients() == that.getSubscribedRecipients()) + && (getProcessIdentifierFilter() == that.getProcessIdentifierFilter()) + && (getPortFilter() == that.getPortFilter()) + && (getLocalForwardingOnly() == that.getLocalForwardingOnly()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getStatusFlags(), + getReliability(), + getOutOfService(), + getRecipientList(), + getSubscribedRecipients(), + getProcessIdentifierFilter(), + getPortFilter(), + getLocalForwardingOnly(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/OctetStringValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/OctetStringValue.java new file mode 100644 index 00000000000..ca23662ea5f --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/OctetStringValue.java @@ -0,0 +1,598 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class OctetStringValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public OctetStringValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("OctetStringValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("OctetStringValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + OctetStringValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static OctetStringValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("OctetStringValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("OCTET STRING")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("OctetStringValue"); + // Create the instance + OctetStringValue _octetStringValue; + _octetStringValue = + new OctetStringValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + priorityArray, + relinquishDefault, + reliabilityEvaluationInhibit, + propertyList, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _octetStringValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OctetStringValue)) { + return false; + } + OctetStringValue that = (OctetStringValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPriorityArray(), + getRelinquishDefault(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/OptionalProperty.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/OptionalProperty.java new file mode 100644 index 00000000000..a8c5bcd60fc --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/OptionalProperty.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class OptionalProperty implements Message { + + // Arguments. + protected final String bacType; + + public OptionalProperty(String bacType) { + super(); + this.bacType = bacType; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("OptionalProperty"); + + writeBuffer.popContext("OptionalProperty"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + OptionalProperty _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + return lengthInBits; + } + + public static OptionalProperty staticParse(ReadBuffer readBuffer, String bacType) + throws ParseException { + readBuffer.pullContext("OptionalProperty"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + readBuffer.closeContext("OptionalProperty"); + // Create the instance + OptionalProperty _optionalProperty; + _optionalProperty = new OptionalProperty(bacType); + + return _optionalProperty; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof OptionalProperty)) { + return false; + } + OptionalProperty that = (OptionalProperty) o; + return true; + } + + @Override + public int hashCode() { + return Objects.hash(); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/PositiveIntegerValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/PositiveIntegerValue.java new file mode 100644 index 00000000000..eb694c5f497 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/PositiveIntegerValue.java @@ -0,0 +1,1124 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class PositiveIntegerValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final ReadableProperty units; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty cOVIncrement; + protected final OptionalProperty timeDelay; + protected final OptionalProperty notificationClass; + protected final OptionalProperty highLimit; + protected final OptionalProperty lowLimit; + protected final OptionalProperty deadband; + protected final OptionalProperty limitEnable; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final OptionalProperty minPresValue; + protected final OptionalProperty maxPresValue; + protected final OptionalProperty resolution; + protected final ReadableProperty propertyList; + protected final OptionalProperty faultHighLimit; + protected final OptionalProperty faultLowLimit; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public PositiveIntegerValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + ReadableProperty units, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty cOVIncrement, + OptionalProperty timeDelay, + OptionalProperty notificationClass, + OptionalProperty highLimit, + OptionalProperty lowLimit, + OptionalProperty deadband, + OptionalProperty limitEnable, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + OptionalProperty minPresValue, + OptionalProperty maxPresValue, + OptionalProperty resolution, + ReadableProperty propertyList, + OptionalProperty faultHighLimit, + OptionalProperty faultLowLimit, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.units = units; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.cOVIncrement = cOVIncrement; + this.timeDelay = timeDelay; + this.notificationClass = notificationClass; + this.highLimit = highLimit; + this.lowLimit = lowLimit; + this.deadband = deadband; + this.limitEnable = limitEnable; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.minPresValue = minPresValue; + this.maxPresValue = maxPresValue; + this.resolution = resolution; + this.propertyList = propertyList; + this.faultHighLimit = faultHighLimit; + this.faultLowLimit = faultLowLimit; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getUnits() { + return units; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getCOVIncrement() { + return cOVIncrement; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getHighLimit() { + return highLimit; + } + + public OptionalProperty getLowLimit() { + return lowLimit; + } + + public OptionalProperty getDeadband() { + return deadband; + } + + public OptionalProperty getLimitEnable() { + return limitEnable; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public OptionalProperty getMinPresValue() { + return minPresValue; + } + + public OptionalProperty getMaxPresValue() { + return maxPresValue; + } + + public OptionalProperty getResolution() { + return resolution; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getFaultHighLimit() { + return faultHighLimit; + } + + public OptionalProperty getFaultLowLimit() { + return faultLowLimit; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("PositiveIntegerValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (units) + writeSimpleField("units", units, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (cOVIncrement) + writeSimpleField("cOVIncrement", cOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (highLimit) + writeSimpleField("highLimit", highLimit, writeComplex(writeBuffer)); + + // Simple Field (lowLimit) + writeSimpleField("lowLimit", lowLimit, writeComplex(writeBuffer)); + + // Simple Field (deadband) + writeSimpleField("deadband", deadband, writeComplex(writeBuffer)); + + // Simple Field (limitEnable) + writeSimpleField("limitEnable", limitEnable, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (minPresValue) + writeSimpleField("minPresValue", minPresValue, writeComplex(writeBuffer)); + + // Simple Field (maxPresValue) + writeSimpleField("maxPresValue", maxPresValue, writeComplex(writeBuffer)); + + // Simple Field (resolution) + writeSimpleField("resolution", resolution, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (faultHighLimit) + writeSimpleField("faultHighLimit", faultHighLimit, writeComplex(writeBuffer)); + + // Simple Field (faultLowLimit) + writeSimpleField("faultLowLimit", faultLowLimit, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("PositiveIntegerValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + PositiveIntegerValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (units) + lengthInBits += units.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (cOVIncrement) + lengthInBits += cOVIncrement.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (highLimit) + lengthInBits += highLimit.getLengthInBits(); + + // Simple field (lowLimit) + lengthInBits += lowLimit.getLengthInBits(); + + // Simple field (deadband) + lengthInBits += deadband.getLengthInBits(); + + // Simple field (limitEnable) + lengthInBits += limitEnable.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (minPresValue) + lengthInBits += minPresValue.getLengthInBits(); + + // Simple field (maxPresValue) + lengthInBits += maxPresValue.getLengthInBits(); + + // Simple field (resolution) + lengthInBits += resolution.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (faultHighLimit) + lengthInBits += faultHighLimit.getLengthInBits(); + + // Simple field (faultLowLimit) + lengthInBits += faultLowLimit.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static PositiveIntegerValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("PositiveIntegerValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty units = + readSimpleField( + "units", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty cOVIncrement = + readSimpleField( + "cOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty highLimit = + readSimpleField( + "highLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty lowLimit = + readSimpleField( + "lowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty deadband = + readSimpleField( + "deadband", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty limitEnable = + readSimpleField( + "limitEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLimitEnable")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty minPresValue = + readSimpleField( + "minPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty maxPresValue = + readSimpleField( + "maxPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty resolution = + readSimpleField( + "resolution", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty faultHighLimit = + readSimpleField( + "faultHighLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty faultLowLimit = + readSimpleField( + "faultLowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("PositiveIntegerValue"); + // Create the instance + PositiveIntegerValue _positiveIntegerValue; + _positiveIntegerValue = + new PositiveIntegerValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + units, + priorityArray, + relinquishDefault, + cOVIncrement, + timeDelay, + notificationClass, + highLimit, + lowLimit, + deadband, + limitEnable, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + minPresValue, + maxPresValue, + resolution, + propertyList, + faultHighLimit, + faultLowLimit, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _positiveIntegerValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof PositiveIntegerValue)) { + return false; + } + PositiveIntegerValue that = (PositiveIntegerValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getUnits() == that.getUnits()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getCOVIncrement() == that.getCOVIncrement()) + && (getTimeDelay() == that.getTimeDelay()) + && (getNotificationClass() == that.getNotificationClass()) + && (getHighLimit() == that.getHighLimit()) + && (getLowLimit() == that.getLowLimit()) + && (getDeadband() == that.getDeadband()) + && (getLimitEnable() == that.getLimitEnable()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getMinPresValue() == that.getMinPresValue()) + && (getMaxPresValue() == that.getMaxPresValue()) + && (getResolution() == that.getResolution()) + && (getPropertyList() == that.getPropertyList()) + && (getFaultHighLimit() == that.getFaultHighLimit()) + && (getFaultLowLimit() == that.getFaultLowLimit()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getUnits(), + getPriorityArray(), + getRelinquishDefault(), + getCOVIncrement(), + getTimeDelay(), + getNotificationClass(), + getHighLimit(), + getLowLimit(), + getDeadband(), + getLimitEnable(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getMinPresValue(), + getMaxPresValue(), + getResolution(), + getPropertyList(), + getFaultHighLimit(), + getFaultLowLimit(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Program.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Program.java new file mode 100644 index 00000000000..2d2f7cbe63b --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Program.java @@ -0,0 +1,740 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Program implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty programState; + protected final WritableProperty programChange; + protected final OptionalProperty reasonForHalt; + protected final OptionalProperty descriptionOfHalt; + protected final OptionalProperty programLocation; + protected final OptionalProperty description; + protected final OptionalProperty instanceOf; + protected final ReadableProperty statusFlags; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty eventState; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Program( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty programState, + WritableProperty programChange, + OptionalProperty reasonForHalt, + OptionalProperty descriptionOfHalt, + OptionalProperty programLocation, + OptionalProperty description, + OptionalProperty instanceOf, + ReadableProperty statusFlags, + OptionalProperty reliability, + ReadableProperty outOfService, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty eventState, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.programState = programState; + this.programChange = programChange; + this.reasonForHalt = reasonForHalt; + this.descriptionOfHalt = descriptionOfHalt; + this.programLocation = programLocation; + this.description = description; + this.instanceOf = instanceOf; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.outOfService = outOfService; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.eventState = eventState; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getProgramState() { + return programState; + } + + public WritableProperty getProgramChange() { + return programChange; + } + + public OptionalProperty getReasonForHalt() { + return reasonForHalt; + } + + public OptionalProperty getDescriptionOfHalt() { + return descriptionOfHalt; + } + + public OptionalProperty getProgramLocation() { + return programLocation; + } + + public OptionalProperty getDescription() { + return description; + } + + public OptionalProperty getInstanceOf() { + return instanceOf; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Program"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (programState) + writeSimpleField("programState", programState, writeComplex(writeBuffer)); + + // Simple Field (programChange) + writeSimpleField("programChange", programChange, writeComplex(writeBuffer)); + + // Simple Field (reasonForHalt) + writeSimpleField("reasonForHalt", reasonForHalt, writeComplex(writeBuffer)); + + // Simple Field (descriptionOfHalt) + writeSimpleField("descriptionOfHalt", descriptionOfHalt, writeComplex(writeBuffer)); + + // Simple Field (programLocation) + writeSimpleField("programLocation", programLocation, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (instanceOf) + writeSimpleField("instanceOf", instanceOf, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Program"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Program _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (programState) + lengthInBits += programState.getLengthInBits(); + + // Simple field (programChange) + lengthInBits += programChange.getLengthInBits(); + + // Simple field (reasonForHalt) + lengthInBits += reasonForHalt.getLengthInBits(); + + // Simple field (descriptionOfHalt) + lengthInBits += descriptionOfHalt.getLengthInBits(); + + // Simple field (programLocation) + lengthInBits += programLocation.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (instanceOf) + lengthInBits += instanceOf.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Program staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Program"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty programState = + readSimpleField( + "programState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetProgramState")), + readBuffer)); + + WritableProperty programChange = + readSimpleField( + "programChange", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BACnetProgramRequest")), + readBuffer)); + + OptionalProperty reasonForHalt = + readSimpleField( + "reasonForHalt", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetProgramError")), + readBuffer)); + + OptionalProperty descriptionOfHalt = + readSimpleField( + "descriptionOfHalt", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty programLocation = + readSimpleField( + "programLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty instanceOf = + readSimpleField( + "instanceOf", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Program"); + // Create the instance + Program _program; + _program = + new Program( + objectIdentifier, + objectName, + objectType, + programState, + programChange, + reasonForHalt, + descriptionOfHalt, + programLocation, + description, + instanceOf, + statusFlags, + reliability, + outOfService, + eventDetectionEnable, + notificationClass, + eventEnable, + eventState, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _program; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Program)) { + return false; + } + Program that = (Program) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getProgramState() == that.getProgramState()) + && (getProgramChange() == that.getProgramChange()) + && (getReasonForHalt() == that.getReasonForHalt()) + && (getDescriptionOfHalt() == that.getDescriptionOfHalt()) + && (getProgramLocation() == that.getProgramLocation()) + && (getDescription() == that.getDescription()) + && (getInstanceOf() == that.getInstanceOf()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getEventState() == that.getEventState()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getProgramState(), + getProgramChange(), + getReasonForHalt(), + getDescriptionOfHalt(), + getProgramLocation(), + getDescription(), + getInstanceOf(), + getStatusFlags(), + getReliability(), + getOutOfService(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getEventState(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/PulseConverter.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/PulseConverter.java new file mode 100644 index 00000000000..cdbbf3ced9c --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/PulseConverter.java @@ -0,0 +1,1031 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class PulseConverter implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final OptionalProperty inputReference; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final ReadableProperty outOfService; + protected final ReadableProperty units; + protected final ReadableProperty scaleFactor; + protected final WritableProperty adjustValue; + protected final ReadableProperty count; + protected final ReadableProperty updateTime; + protected final ReadableProperty countChangeTime; + protected final ReadableProperty countBeforeChange; + protected final OptionalProperty cOVIncrement; + protected final OptionalProperty cOVPeriod; + protected final OptionalProperty notificationClass; + protected final OptionalProperty timeDelay; + protected final OptionalProperty highLimit; + protected final OptionalProperty lowLimit; + protected final OptionalProperty deadband; + protected final OptionalProperty limitEnable; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public PulseConverter( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + OptionalProperty inputReference, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + ReadableProperty outOfService, + ReadableProperty units, + ReadableProperty scaleFactor, + WritableProperty adjustValue, + ReadableProperty count, + ReadableProperty updateTime, + ReadableProperty countChangeTime, + ReadableProperty countBeforeChange, + OptionalProperty cOVIncrement, + OptionalProperty cOVPeriod, + OptionalProperty notificationClass, + OptionalProperty timeDelay, + OptionalProperty highLimit, + OptionalProperty lowLimit, + OptionalProperty deadband, + OptionalProperty limitEnable, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty timeDelayNormal, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.inputReference = inputReference; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.units = units; + this.scaleFactor = scaleFactor; + this.adjustValue = adjustValue; + this.count = count; + this.updateTime = updateTime; + this.countChangeTime = countChangeTime; + this.countBeforeChange = countBeforeChange; + this.cOVIncrement = cOVIncrement; + this.cOVPeriod = cOVPeriod; + this.notificationClass = notificationClass; + this.timeDelay = timeDelay; + this.highLimit = highLimit; + this.lowLimit = lowLimit; + this.deadband = deadband; + this.limitEnable = limitEnable; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.timeDelayNormal = timeDelayNormal; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getInputReference() { + return inputReference; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getUnits() { + return units; + } + + public ReadableProperty getScaleFactor() { + return scaleFactor; + } + + public WritableProperty getAdjustValue() { + return adjustValue; + } + + public ReadableProperty getCount() { + return count; + } + + public ReadableProperty getUpdateTime() { + return updateTime; + } + + public ReadableProperty getCountChangeTime() { + return countChangeTime; + } + + public ReadableProperty getCountBeforeChange() { + return countBeforeChange; + } + + public OptionalProperty getCOVIncrement() { + return cOVIncrement; + } + + public OptionalProperty getCOVPeriod() { + return cOVPeriod; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getHighLimit() { + return highLimit; + } + + public OptionalProperty getLowLimit() { + return lowLimit; + } + + public OptionalProperty getDeadband() { + return deadband; + } + + public OptionalProperty getLimitEnable() { + return limitEnable; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("PulseConverter"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (inputReference) + writeSimpleField("inputReference", inputReference, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (units) + writeSimpleField("units", units, writeComplex(writeBuffer)); + + // Simple Field (scaleFactor) + writeSimpleField("scaleFactor", scaleFactor, writeComplex(writeBuffer)); + + // Simple Field (adjustValue) + writeSimpleField("adjustValue", adjustValue, writeComplex(writeBuffer)); + + // Simple Field (count) + writeSimpleField("count", count, writeComplex(writeBuffer)); + + // Simple Field (updateTime) + writeSimpleField("updateTime", updateTime, writeComplex(writeBuffer)); + + // Simple Field (countChangeTime) + writeSimpleField("countChangeTime", countChangeTime, writeComplex(writeBuffer)); + + // Simple Field (countBeforeChange) + writeSimpleField("countBeforeChange", countBeforeChange, writeComplex(writeBuffer)); + + // Simple Field (cOVIncrement) + writeSimpleField("cOVIncrement", cOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (cOVPeriod) + writeSimpleField("cOVPeriod", cOVPeriod, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (highLimit) + writeSimpleField("highLimit", highLimit, writeComplex(writeBuffer)); + + // Simple Field (lowLimit) + writeSimpleField("lowLimit", lowLimit, writeComplex(writeBuffer)); + + // Simple Field (deadband) + writeSimpleField("deadband", deadband, writeComplex(writeBuffer)); + + // Simple Field (limitEnable) + writeSimpleField("limitEnable", limitEnable, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("PulseConverter"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + PulseConverter _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (inputReference) + lengthInBits += inputReference.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (units) + lengthInBits += units.getLengthInBits(); + + // Simple field (scaleFactor) + lengthInBits += scaleFactor.getLengthInBits(); + + // Simple field (adjustValue) + lengthInBits += adjustValue.getLengthInBits(); + + // Simple field (count) + lengthInBits += count.getLengthInBits(); + + // Simple field (updateTime) + lengthInBits += updateTime.getLengthInBits(); + + // Simple field (countChangeTime) + lengthInBits += countChangeTime.getLengthInBits(); + + // Simple field (countBeforeChange) + lengthInBits += countBeforeChange.getLengthInBits(); + + // Simple field (cOVIncrement) + lengthInBits += cOVIncrement.getLengthInBits(); + + // Simple field (cOVPeriod) + lengthInBits += cOVPeriod.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (highLimit) + lengthInBits += highLimit.getLengthInBits(); + + // Simple field (lowLimit) + lengthInBits += lowLimit.getLengthInBits(); + + // Simple field (deadband) + lengthInBits += deadband.getLengthInBits(); + + // Simple field (limitEnable) + lengthInBits += limitEnable.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static PulseConverter staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("PulseConverter"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty inputReference = + readSimpleField( + "inputReference", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty units = + readSimpleField( + "units", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEngineeringUnits")), + readBuffer)); + + ReadableProperty scaleFactor = + readSimpleField( + "scaleFactor", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + WritableProperty adjustValue = + readSimpleField( + "adjustValue", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + ReadableProperty count = + readSimpleField( + "count", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty updateTime = + readSimpleField( + "updateTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + ReadableProperty countChangeTime = + readSimpleField( + "countChangeTime", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + ReadableProperty countBeforeChange = + readSimpleField( + "countBeforeChange", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty cOVIncrement = + readSimpleField( + "cOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty cOVPeriod = + readSimpleField( + "cOVPeriod", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty highLimit = + readSimpleField( + "highLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty lowLimit = + readSimpleField( + "lowLimit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty deadband = + readSimpleField( + "deadband", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("REAL")), readBuffer)); + + OptionalProperty limitEnable = + readSimpleField( + "limitEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetLimitEnable")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("PulseConverter"); + // Create the instance + PulseConverter _pulseConverter; + _pulseConverter = + new PulseConverter( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + inputReference, + statusFlags, + eventState, + reliability, + outOfService, + units, + scaleFactor, + adjustValue, + count, + updateTime, + countChangeTime, + countBeforeChange, + cOVIncrement, + cOVPeriod, + notificationClass, + timeDelay, + highLimit, + lowLimit, + deadband, + limitEnable, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + timeDelayNormal, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _pulseConverter; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof PulseConverter)) { + return false; + } + PulseConverter that = (PulseConverter) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getInputReference() == that.getInputReference()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getUnits() == that.getUnits()) + && (getScaleFactor() == that.getScaleFactor()) + && (getAdjustValue() == that.getAdjustValue()) + && (getCount() == that.getCount()) + && (getUpdateTime() == that.getUpdateTime()) + && (getCountChangeTime() == that.getCountChangeTime()) + && (getCountBeforeChange() == that.getCountBeforeChange()) + && (getCOVIncrement() == that.getCOVIncrement()) + && (getCOVPeriod() == that.getCOVPeriod()) + && (getNotificationClass() == that.getNotificationClass()) + && (getTimeDelay() == that.getTimeDelay()) + && (getHighLimit() == that.getHighLimit()) + && (getLowLimit() == that.getLowLimit()) + && (getDeadband() == that.getDeadband()) + && (getLimitEnable() == that.getLimitEnable()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getInputReference(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getUnits(), + getScaleFactor(), + getAdjustValue(), + getCount(), + getUpdateTime(), + getCountChangeTime(), + getCountBeforeChange(), + getCOVIncrement(), + getCOVPeriod(), + getNotificationClass(), + getTimeDelay(), + getHighLimit(), + getLowLimit(), + getDeadband(), + getLimitEnable(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getTimeDelayNormal(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/ReadableProperty.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/ReadableProperty.java new file mode 100644 index 00000000000..74e6670664c --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/ReadableProperty.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class ReadableProperty implements Message { + + // Arguments. + protected final String bacType; + + public ReadableProperty(String bacType) { + super(); + this.bacType = bacType; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("ReadableProperty"); + + writeBuffer.popContext("ReadableProperty"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + ReadableProperty _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + return lengthInBits; + } + + public static ReadableProperty staticParse(ReadBuffer readBuffer, String bacType) + throws ParseException { + readBuffer.pullContext("ReadableProperty"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + readBuffer.closeContext("ReadableProperty"); + // Create the instance + ReadableProperty _readableProperty; + _readableProperty = new ReadableProperty(bacType); + + return _readableProperty; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof ReadableProperty)) { + return false; + } + ReadableProperty that = (ReadableProperty) o; + return true; + } + + @Override + public int hashCode() { + return Objects.hash(); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Schedule.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Schedule.java new file mode 100644 index 00000000000..fb0f701c4fd --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Schedule.java @@ -0,0 +1,770 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Schedule implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final ReadableProperty presentValue; + protected final OptionalProperty description; + protected final ReadableProperty effectivePeriod; + protected final OptionalProperty weeklySchedule; + protected final OptionalProperty exceptionSchedule; + protected final ReadableProperty scheduleDefault; + protected final ReadableProperty listOfObjectPropertyReferences; + protected final ReadableProperty priorityForWriting; + protected final ReadableProperty statusFlags; + protected final ReadableProperty reliability; + protected final ReadableProperty outOfService; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty eventState; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Schedule( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + ReadableProperty presentValue, + OptionalProperty description, + ReadableProperty effectivePeriod, + OptionalProperty weeklySchedule, + OptionalProperty exceptionSchedule, + ReadableProperty scheduleDefault, + ReadableProperty listOfObjectPropertyReferences, + ReadableProperty priorityForWriting, + ReadableProperty statusFlags, + ReadableProperty reliability, + ReadableProperty outOfService, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty eventState, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.presentValue = presentValue; + this.description = description; + this.effectivePeriod = effectivePeriod; + this.weeklySchedule = weeklySchedule; + this.exceptionSchedule = exceptionSchedule; + this.scheduleDefault = scheduleDefault; + this.listOfObjectPropertyReferences = listOfObjectPropertyReferences; + this.priorityForWriting = priorityForWriting; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.outOfService = outOfService; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.eventState = eventState; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getEffectivePeriod() { + return effectivePeriod; + } + + public OptionalProperty getWeeklySchedule() { + return weeklySchedule; + } + + public OptionalProperty getExceptionSchedule() { + return exceptionSchedule; + } + + public ReadableProperty getScheduleDefault() { + return scheduleDefault; + } + + public ReadableProperty getListOfObjectPropertyReferences() { + return listOfObjectPropertyReferences; + } + + public ReadableProperty getPriorityForWriting() { + return priorityForWriting; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getReliability() { + return reliability; + } + + public ReadableProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Schedule"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (effectivePeriod) + writeSimpleField("effectivePeriod", effectivePeriod, writeComplex(writeBuffer)); + + // Simple Field (weeklySchedule) + writeSimpleField("weeklySchedule", weeklySchedule, writeComplex(writeBuffer)); + + // Simple Field (exceptionSchedule) + writeSimpleField("exceptionSchedule", exceptionSchedule, writeComplex(writeBuffer)); + + // Simple Field (scheduleDefault) + writeSimpleField("scheduleDefault", scheduleDefault, writeComplex(writeBuffer)); + + // Simple Field (listOfObjectPropertyReferences) + writeSimpleField( + "listOfObjectPropertyReferences", + listOfObjectPropertyReferences, + writeComplex(writeBuffer)); + + // Simple Field (priorityForWriting) + writeSimpleField("priorityForWriting", priorityForWriting, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Schedule"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Schedule _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (effectivePeriod) + lengthInBits += effectivePeriod.getLengthInBits(); + + // Simple field (weeklySchedule) + lengthInBits += weeklySchedule.getLengthInBits(); + + // Simple field (exceptionSchedule) + lengthInBits += exceptionSchedule.getLengthInBits(); + + // Simple field (scheduleDefault) + lengthInBits += scheduleDefault.getLengthInBits(); + + // Simple field (listOfObjectPropertyReferences) + lengthInBits += listOfObjectPropertyReferences.getLengthInBits(); + + // Simple field (priorityForWriting) + lengthInBits += priorityForWriting.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Schedule staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Schedule"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Any")), readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty effectivePeriod = + readSimpleField( + "effectivePeriod", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetDateRange")), + readBuffer)); + + OptionalProperty weeklySchedule = + readSimpleField( + "weeklySchedule", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[7] of BACnetDailySchedule")), + readBuffer)); + + OptionalProperty exceptionSchedule = + readSimpleField( + "exceptionSchedule", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetSpecialEvent")), + readBuffer)); + + ReadableProperty scheduleDefault = + readSimpleField( + "scheduleDefault", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Any")), readBuffer)); + + ReadableProperty listOfObjectPropertyReferences = + readSimpleField( + "listOfObjectPropertyReferences", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectPropertyReference")), + readBuffer)); + + ReadableProperty priorityForWriting = + readSimpleField( + "priorityForWriting", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned(1..16)")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + ReadableProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Schedule"); + // Create the instance + Schedule _schedule; + _schedule = + new Schedule( + objectIdentifier, + objectName, + objectType, + presentValue, + description, + effectivePeriod, + weeklySchedule, + exceptionSchedule, + scheduleDefault, + listOfObjectPropertyReferences, + priorityForWriting, + statusFlags, + reliability, + outOfService, + eventDetectionEnable, + notificationClass, + eventEnable, + eventState, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _schedule; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Schedule)) { + return false; + } + Schedule that = (Schedule) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getPresentValue() == that.getPresentValue()) + && (getDescription() == that.getDescription()) + && (getEffectivePeriod() == that.getEffectivePeriod()) + && (getWeeklySchedule() == that.getWeeklySchedule()) + && (getExceptionSchedule() == that.getExceptionSchedule()) + && (getScheduleDefault() == that.getScheduleDefault()) + && (getListOfObjectPropertyReferences() == that.getListOfObjectPropertyReferences()) + && (getPriorityForWriting() == that.getPriorityForWriting()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getEventState() == that.getEventState()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getPresentValue(), + getDescription(), + getEffectivePeriod(), + getWeeklySchedule(), + getExceptionSchedule(), + getScheduleDefault(), + getListOfObjectPropertyReferences(), + getPriorityForWriting(), + getStatusFlags(), + getReliability(), + getOutOfService(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getEventState(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/StructuredView.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/StructuredView.java new file mode 100644 index 00000000000..8a9d8287442 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/StructuredView.java @@ -0,0 +1,519 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class StructuredView implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty nodeType; + protected final OptionalProperty nodeSubtype; + protected final ReadableProperty subordinateList; + protected final OptionalProperty subordinateAnnotations; + protected final ReadableProperty propertyList; + protected final OptionalProperty subordinateTags; + protected final OptionalProperty subordinateNodeTypes; + protected final OptionalProperty subordinateRelationships; + protected final OptionalProperty defaultSubordinateRelationship; + protected final OptionalProperty represents; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public StructuredView( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty nodeType, + OptionalProperty nodeSubtype, + ReadableProperty subordinateList, + OptionalProperty subordinateAnnotations, + ReadableProperty propertyList, + OptionalProperty subordinateTags, + OptionalProperty subordinateNodeTypes, + OptionalProperty subordinateRelationships, + OptionalProperty defaultSubordinateRelationship, + OptionalProperty represents, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.nodeType = nodeType; + this.nodeSubtype = nodeSubtype; + this.subordinateList = subordinateList; + this.subordinateAnnotations = subordinateAnnotations; + this.propertyList = propertyList; + this.subordinateTags = subordinateTags; + this.subordinateNodeTypes = subordinateNodeTypes; + this.subordinateRelationships = subordinateRelationships; + this.defaultSubordinateRelationship = defaultSubordinateRelationship; + this.represents = represents; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getNodeType() { + return nodeType; + } + + public OptionalProperty getNodeSubtype() { + return nodeSubtype; + } + + public ReadableProperty getSubordinateList() { + return subordinateList; + } + + public OptionalProperty getSubordinateAnnotations() { + return subordinateAnnotations; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getSubordinateTags() { + return subordinateTags; + } + + public OptionalProperty getSubordinateNodeTypes() { + return subordinateNodeTypes; + } + + public OptionalProperty getSubordinateRelationships() { + return subordinateRelationships; + } + + public OptionalProperty getDefaultSubordinateRelationship() { + return defaultSubordinateRelationship; + } + + public OptionalProperty getRepresents() { + return represents; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("StructuredView"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (nodeType) + writeSimpleField("nodeType", nodeType, writeComplex(writeBuffer)); + + // Simple Field (nodeSubtype) + writeSimpleField("nodeSubtype", nodeSubtype, writeComplex(writeBuffer)); + + // Simple Field (subordinateList) + writeSimpleField("subordinateList", subordinateList, writeComplex(writeBuffer)); + + // Simple Field (subordinateAnnotations) + writeSimpleField("subordinateAnnotations", subordinateAnnotations, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (subordinateTags) + writeSimpleField("subordinateTags", subordinateTags, writeComplex(writeBuffer)); + + // Simple Field (subordinateNodeTypes) + writeSimpleField("subordinateNodeTypes", subordinateNodeTypes, writeComplex(writeBuffer)); + + // Simple Field (subordinateRelationships) + writeSimpleField( + "subordinateRelationships", subordinateRelationships, writeComplex(writeBuffer)); + + // Simple Field (defaultSubordinateRelationship) + writeSimpleField( + "defaultSubordinateRelationship", + defaultSubordinateRelationship, + writeComplex(writeBuffer)); + + // Simple Field (represents) + writeSimpleField("represents", represents, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("StructuredView"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + StructuredView _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (nodeType) + lengthInBits += nodeType.getLengthInBits(); + + // Simple field (nodeSubtype) + lengthInBits += nodeSubtype.getLengthInBits(); + + // Simple field (subordinateList) + lengthInBits += subordinateList.getLengthInBits(); + + // Simple field (subordinateAnnotations) + lengthInBits += subordinateAnnotations.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (subordinateTags) + lengthInBits += subordinateTags.getLengthInBits(); + + // Simple field (subordinateNodeTypes) + lengthInBits += subordinateNodeTypes.getLengthInBits(); + + // Simple field (subordinateRelationships) + lengthInBits += subordinateRelationships.getLengthInBits(); + + // Simple field (defaultSubordinateRelationship) + lengthInBits += defaultSubordinateRelationship.getLengthInBits(); + + // Simple field (represents) + lengthInBits += represents.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static StructuredView staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("StructuredView"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty nodeType = + readSimpleField( + "nodeType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetNodeType")), + readBuffer)); + + OptionalProperty nodeSubtype = + readSimpleField( + "nodeSubtype", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty subordinateList = + readSimpleField( + "subordinateList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty subordinateAnnotations = + readSimpleField( + "subordinateAnnotations", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of CharacterString")), + readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty subordinateTags = + readSimpleField( + "subordinateTags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValueCollection")), + readBuffer)); + + OptionalProperty subordinateNodeTypes = + readSimpleField( + "subordinateNodeTypes", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNodeType")), + readBuffer)); + + OptionalProperty subordinateRelationships = + readSimpleField( + "subordinateRelationships", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetRelationship")), + readBuffer)); + + OptionalProperty defaultSubordinateRelationship = + readSimpleField( + "defaultSubordinateRelationship", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetRelationship")), + readBuffer)); + + OptionalProperty represents = + readSimpleField( + "represents", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectReference")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("StructuredView"); + // Create the instance + StructuredView _structuredView; + _structuredView = + new StructuredView( + objectIdentifier, + objectName, + objectType, + description, + nodeType, + nodeSubtype, + subordinateList, + subordinateAnnotations, + propertyList, + subordinateTags, + subordinateNodeTypes, + subordinateRelationships, + defaultSubordinateRelationship, + represents, + tags, + profileLocation, + profileName); + return _structuredView; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof StructuredView)) { + return false; + } + StructuredView that = (StructuredView) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getNodeType() == that.getNodeType()) + && (getNodeSubtype() == that.getNodeSubtype()) + && (getSubordinateList() == that.getSubordinateList()) + && (getSubordinateAnnotations() == that.getSubordinateAnnotations()) + && (getPropertyList() == that.getPropertyList()) + && (getSubordinateTags() == that.getSubordinateTags()) + && (getSubordinateNodeTypes() == that.getSubordinateNodeTypes()) + && (getSubordinateRelationships() == that.getSubordinateRelationships()) + && (getDefaultSubordinateRelationship() == that.getDefaultSubordinateRelationship()) + && (getRepresents() == that.getRepresents()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getNodeType(), + getNodeSubtype(), + getSubordinateList(), + getSubordinateAnnotations(), + getPropertyList(), + getSubordinateTags(), + getSubordinateNodeTypes(), + getSubordinateRelationships(), + getDefaultSubordinateRelationship(), + getRepresents(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TimePatternValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TimePatternValue.java new file mode 100644 index 00000000000..90c0b8f653d --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TimePatternValue.java @@ -0,0 +1,788 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class TimePatternValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public TimePatternValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("TimePatternValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("TimePatternValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + TimePatternValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static TimePatternValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("TimePatternValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Time")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Time")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("TimePatternValue"); + // Create the instance + TimePatternValue _timePatternValue; + _timePatternValue = + new TimePatternValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + priorityArray, + relinquishDefault, + reliabilityEvaluationInhibit, + propertyList, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _timePatternValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof TimePatternValue)) { + return false; + } + TimePatternValue that = (TimePatternValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPriorityArray(), + getRelinquishDefault(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TimeValue.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TimeValue.java new file mode 100644 index 00000000000..037dab0e724 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TimeValue.java @@ -0,0 +1,788 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class TimeValue implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final OptionalProperty priorityArray; + protected final OptionalProperty relinquishDefault; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty currentCommandPriority; + protected final OptionalProperty valueSource; + protected final OptionalProperty valueSourceArray; + protected final OptionalProperty lastCommandTime; + protected final OptionalProperty commandTimeArray; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public TimeValue( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + OptionalProperty priorityArray, + OptionalProperty relinquishDefault, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty currentCommandPriority, + OptionalProperty valueSource, + OptionalProperty valueSourceArray, + OptionalProperty lastCommandTime, + OptionalProperty commandTimeArray, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.priorityArray = priorityArray; + this.relinquishDefault = relinquishDefault; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.currentCommandPriority = currentCommandPriority; + this.valueSource = valueSource; + this.valueSourceArray = valueSourceArray; + this.lastCommandTime = lastCommandTime; + this.commandTimeArray = commandTimeArray; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public OptionalProperty getPriorityArray() { + return priorityArray; + } + + public OptionalProperty getRelinquishDefault() { + return relinquishDefault; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getCurrentCommandPriority() { + return currentCommandPriority; + } + + public OptionalProperty getValueSource() { + return valueSource; + } + + public OptionalProperty getValueSourceArray() { + return valueSourceArray; + } + + public OptionalProperty getLastCommandTime() { + return lastCommandTime; + } + + public OptionalProperty getCommandTimeArray() { + return commandTimeArray; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("TimeValue"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (priorityArray) + writeSimpleField("priorityArray", priorityArray, writeComplex(writeBuffer)); + + // Simple Field (relinquishDefault) + writeSimpleField("relinquishDefault", relinquishDefault, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (currentCommandPriority) + writeSimpleField("currentCommandPriority", currentCommandPriority, writeComplex(writeBuffer)); + + // Simple Field (valueSource) + writeSimpleField("valueSource", valueSource, writeComplex(writeBuffer)); + + // Simple Field (valueSourceArray) + writeSimpleField("valueSourceArray", valueSourceArray, writeComplex(writeBuffer)); + + // Simple Field (lastCommandTime) + writeSimpleField("lastCommandTime", lastCommandTime, writeComplex(writeBuffer)); + + // Simple Field (commandTimeArray) + writeSimpleField("commandTimeArray", commandTimeArray, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("TimeValue"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + TimeValue _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (priorityArray) + lengthInBits += priorityArray.getLengthInBits(); + + // Simple field (relinquishDefault) + lengthInBits += relinquishDefault.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (currentCommandPriority) + lengthInBits += currentCommandPriority.getLengthInBits(); + + // Simple field (valueSource) + lengthInBits += valueSource.getLengthInBits(); + + // Simple field (valueSourceArray) + lengthInBits += valueSourceArray.getLengthInBits(); + + // Simple field (lastCommandTime) + lengthInBits += lastCommandTime.getLengthInBits(); + + // Simple field (commandTimeArray) + lengthInBits += commandTimeArray.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static TimeValue staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("TimeValue"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Time")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty priorityArray = + readSimpleField( + "priorityArray", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetPriorityArray")), + readBuffer)); + + OptionalProperty relinquishDefault = + readSimpleField( + "relinquishDefault", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Time")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty currentCommandPriority = + readSimpleField( + "currentCommandPriority", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetOptionalUnsigned")), + readBuffer)); + + OptionalProperty valueSource = + readSimpleField( + "valueSource", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetValueSource")), + readBuffer)); + + OptionalProperty valueSourceArray = + readSimpleField( + "valueSourceArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetValueSource")), + readBuffer)); + + OptionalProperty lastCommandTime = + readSimpleField( + "lastCommandTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimeStamp")), + readBuffer)); + + OptionalProperty commandTimeArray = + readSimpleField( + "commandTimeArray", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[16] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("TimeValue"); + // Create the instance + TimeValue _timeValue; + _timeValue = + new TimeValue( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + priorityArray, + relinquishDefault, + reliabilityEvaluationInhibit, + propertyList, + eventDetectionEnable, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + currentCommandPriority, + valueSource, + valueSourceArray, + lastCommandTime, + commandTimeArray, + tags, + profileLocation, + profileName); + return _timeValue; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof TimeValue)) { + return false; + } + TimeValue that = (TimeValue) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getPriorityArray() == that.getPriorityArray()) + && (getRelinquishDefault() == that.getRelinquishDefault()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getCurrentCommandPriority() == that.getCurrentCommandPriority()) + && (getValueSource() == that.getValueSource()) + && (getValueSourceArray() == that.getValueSourceArray()) + && (getLastCommandTime() == that.getLastCommandTime()) + && (getCommandTimeArray() == that.getCommandTimeArray()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getPriorityArray(), + getRelinquishDefault(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getEventDetectionEnable(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getCurrentCommandPriority(), + getValueSource(), + getValueSourceArray(), + getLastCommandTime(), + getCommandTimeArray(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Timer.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Timer.java new file mode 100644 index 00000000000..a5ae3dedaa1 --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/Timer.java @@ -0,0 +1,1041 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class Timer implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty presentValue; + protected final ReadableProperty statusFlags; + protected final OptionalProperty eventState; + protected final OptionalProperty reliability; + protected final OptionalProperty outOfService; + protected final ReadableProperty timerState; + protected final ReadableProperty timerRunning; + protected final OptionalProperty updateTime; + protected final OptionalProperty lastStateChange; + protected final OptionalProperty expirationTime; + protected final OptionalProperty initialTimeout; + protected final OptionalProperty defaultTimeout; + protected final OptionalProperty minPresValue; + protected final OptionalProperty maxPresValue; + protected final OptionalProperty resolution; + protected final OptionalProperty stateChangeValues; + protected final OptionalProperty listOfObjectPropertyReferences; + protected final OptionalProperty priorityForWriting; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty notificationClass; + protected final OptionalProperty timeDelay; + protected final OptionalProperty timeDelayNormal; + protected final OptionalProperty alarmValues; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public Timer( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty presentValue, + ReadableProperty statusFlags, + OptionalProperty eventState, + OptionalProperty reliability, + OptionalProperty outOfService, + ReadableProperty timerState, + ReadableProperty timerRunning, + OptionalProperty updateTime, + OptionalProperty lastStateChange, + OptionalProperty expirationTime, + OptionalProperty initialTimeout, + OptionalProperty defaultTimeout, + OptionalProperty minPresValue, + OptionalProperty maxPresValue, + OptionalProperty resolution, + OptionalProperty stateChangeValues, + OptionalProperty listOfObjectPropertyReferences, + OptionalProperty priorityForWriting, + OptionalProperty eventDetectionEnable, + OptionalProperty notificationClass, + OptionalProperty timeDelay, + OptionalProperty timeDelayNormal, + OptionalProperty alarmValues, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.presentValue = presentValue; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.outOfService = outOfService; + this.timerState = timerState; + this.timerRunning = timerRunning; + this.updateTime = updateTime; + this.lastStateChange = lastStateChange; + this.expirationTime = expirationTime; + this.initialTimeout = initialTimeout; + this.defaultTimeout = defaultTimeout; + this.minPresValue = minPresValue; + this.maxPresValue = maxPresValue; + this.resolution = resolution; + this.stateChangeValues = stateChangeValues; + this.listOfObjectPropertyReferences = listOfObjectPropertyReferences; + this.priorityForWriting = priorityForWriting; + this.eventDetectionEnable = eventDetectionEnable; + this.notificationClass = notificationClass; + this.timeDelay = timeDelay; + this.timeDelayNormal = timeDelayNormal; + this.alarmValues = alarmValues; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getPresentValue() { + return presentValue; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getOutOfService() { + return outOfService; + } + + public ReadableProperty getTimerState() { + return timerState; + } + + public ReadableProperty getTimerRunning() { + return timerRunning; + } + + public OptionalProperty getUpdateTime() { + return updateTime; + } + + public OptionalProperty getLastStateChange() { + return lastStateChange; + } + + public OptionalProperty getExpirationTime() { + return expirationTime; + } + + public OptionalProperty getInitialTimeout() { + return initialTimeout; + } + + public OptionalProperty getDefaultTimeout() { + return defaultTimeout; + } + + public OptionalProperty getMinPresValue() { + return minPresValue; + } + + public OptionalProperty getMaxPresValue() { + return maxPresValue; + } + + public OptionalProperty getResolution() { + return resolution; + } + + public OptionalProperty getStateChangeValues() { + return stateChangeValues; + } + + public OptionalProperty getListOfObjectPropertyReferences() { + return listOfObjectPropertyReferences; + } + + public OptionalProperty getPriorityForWriting() { + return priorityForWriting; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getTimeDelay() { + return timeDelay; + } + + public OptionalProperty getTimeDelayNormal() { + return timeDelayNormal; + } + + public OptionalProperty getAlarmValues() { + return alarmValues; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("Timer"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (presentValue) + writeSimpleField("presentValue", presentValue, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (outOfService) + writeSimpleField("outOfService", outOfService, writeComplex(writeBuffer)); + + // Simple Field (timerState) + writeSimpleField("timerState", timerState, writeComplex(writeBuffer)); + + // Simple Field (timerRunning) + writeSimpleField("timerRunning", timerRunning, writeComplex(writeBuffer)); + + // Simple Field (updateTime) + writeSimpleField("updateTime", updateTime, writeComplex(writeBuffer)); + + // Simple Field (lastStateChange) + writeSimpleField("lastStateChange", lastStateChange, writeComplex(writeBuffer)); + + // Simple Field (expirationTime) + writeSimpleField("expirationTime", expirationTime, writeComplex(writeBuffer)); + + // Simple Field (initialTimeout) + writeSimpleField("initialTimeout", initialTimeout, writeComplex(writeBuffer)); + + // Simple Field (defaultTimeout) + writeSimpleField("defaultTimeout", defaultTimeout, writeComplex(writeBuffer)); + + // Simple Field (minPresValue) + writeSimpleField("minPresValue", minPresValue, writeComplex(writeBuffer)); + + // Simple Field (maxPresValue) + writeSimpleField("maxPresValue", maxPresValue, writeComplex(writeBuffer)); + + // Simple Field (resolution) + writeSimpleField("resolution", resolution, writeComplex(writeBuffer)); + + // Simple Field (stateChangeValues) + writeSimpleField("stateChangeValues", stateChangeValues, writeComplex(writeBuffer)); + + // Simple Field (listOfObjectPropertyReferences) + writeSimpleField( + "listOfObjectPropertyReferences", + listOfObjectPropertyReferences, + writeComplex(writeBuffer)); + + // Simple Field (priorityForWriting) + writeSimpleField("priorityForWriting", priorityForWriting, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (timeDelay) + writeSimpleField("timeDelay", timeDelay, writeComplex(writeBuffer)); + + // Simple Field (timeDelayNormal) + writeSimpleField("timeDelayNormal", timeDelayNormal, writeComplex(writeBuffer)); + + // Simple Field (alarmValues) + writeSimpleField("alarmValues", alarmValues, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("Timer"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + Timer _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (presentValue) + lengthInBits += presentValue.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (outOfService) + lengthInBits += outOfService.getLengthInBits(); + + // Simple field (timerState) + lengthInBits += timerState.getLengthInBits(); + + // Simple field (timerRunning) + lengthInBits += timerRunning.getLengthInBits(); + + // Simple field (updateTime) + lengthInBits += updateTime.getLengthInBits(); + + // Simple field (lastStateChange) + lengthInBits += lastStateChange.getLengthInBits(); + + // Simple field (expirationTime) + lengthInBits += expirationTime.getLengthInBits(); + + // Simple field (initialTimeout) + lengthInBits += initialTimeout.getLengthInBits(); + + // Simple field (defaultTimeout) + lengthInBits += defaultTimeout.getLengthInBits(); + + // Simple field (minPresValue) + lengthInBits += minPresValue.getLengthInBits(); + + // Simple field (maxPresValue) + lengthInBits += maxPresValue.getLengthInBits(); + + // Simple field (resolution) + lengthInBits += resolution.getLengthInBits(); + + // Simple field (stateChangeValues) + lengthInBits += stateChangeValues.getLengthInBits(); + + // Simple field (listOfObjectPropertyReferences) + lengthInBits += listOfObjectPropertyReferences.getLengthInBits(); + + // Simple field (priorityForWriting) + lengthInBits += priorityForWriting.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (timeDelay) + lengthInBits += timeDelay.getLengthInBits(); + + // Simple field (timeDelayNormal) + lengthInBits += timeDelayNormal.getLengthInBits(); + + // Simple field (alarmValues) + lengthInBits += alarmValues.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static Timer staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("Timer"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty presentValue = + readSimpleField( + "presentValue", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty outOfService = + readSimpleField( + "outOfService", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty timerState = + readSimpleField( + "timerState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetTimerState")), + readBuffer)); + + ReadableProperty timerRunning = + readSimpleField( + "timerRunning", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty updateTime = + readSimpleField( + "updateTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty lastStateChange = + readSimpleField( + "lastStateChange", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetTimerTransition")), + readBuffer)); + + OptionalProperty expirationTime = + readSimpleField( + "expirationTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty initialTimeout = + readSimpleField( + "initialTimeout", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty defaultTimeout = + readSimpleField( + "defaultTimeout", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty minPresValue = + readSimpleField( + "minPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty maxPresValue = + readSimpleField( + "maxPresValue", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty resolution = + readSimpleField( + "resolution", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty stateChangeValues = + readSimpleField( + "stateChangeValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[7] of BACnetTimerStateChangeValue")), + readBuffer)); + + OptionalProperty listOfObjectPropertyReferences = + readSimpleField( + "listOfObjectPropertyReferences", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetDeviceObjectPropertyReference")), + readBuffer)); + + OptionalProperty priorityForWriting = + readSimpleField( + "priorityForWriting", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned(1..16)")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelay = + readSimpleField( + "timeDelay", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty timeDelayNormal = + readSimpleField( + "timeDelayNormal", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alarmValues = + readSimpleField( + "alarmValues", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetTimerState")), + readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("Timer"); + // Create the instance + Timer _timer; + _timer = + new Timer( + objectIdentifier, + objectName, + objectType, + description, + presentValue, + statusFlags, + eventState, + reliability, + outOfService, + timerState, + timerRunning, + updateTime, + lastStateChange, + expirationTime, + initialTimeout, + defaultTimeout, + minPresValue, + maxPresValue, + resolution, + stateChangeValues, + listOfObjectPropertyReferences, + priorityForWriting, + eventDetectionEnable, + notificationClass, + timeDelay, + timeDelayNormal, + alarmValues, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _timer; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof Timer)) { + return false; + } + Timer that = (Timer) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getPresentValue() == that.getPresentValue()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getOutOfService() == that.getOutOfService()) + && (getTimerState() == that.getTimerState()) + && (getTimerRunning() == that.getTimerRunning()) + && (getUpdateTime() == that.getUpdateTime()) + && (getLastStateChange() == that.getLastStateChange()) + && (getExpirationTime() == that.getExpirationTime()) + && (getInitialTimeout() == that.getInitialTimeout()) + && (getDefaultTimeout() == that.getDefaultTimeout()) + && (getMinPresValue() == that.getMinPresValue()) + && (getMaxPresValue() == that.getMaxPresValue()) + && (getResolution() == that.getResolution()) + && (getStateChangeValues() == that.getStateChangeValues()) + && (getListOfObjectPropertyReferences() == that.getListOfObjectPropertyReferences()) + && (getPriorityForWriting() == that.getPriorityForWriting()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getNotificationClass() == that.getNotificationClass()) + && (getTimeDelay() == that.getTimeDelay()) + && (getTimeDelayNormal() == that.getTimeDelayNormal()) + && (getAlarmValues() == that.getAlarmValues()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getPresentValue(), + getStatusFlags(), + getEventState(), + getReliability(), + getOutOfService(), + getTimerState(), + getTimerRunning(), + getUpdateTime(), + getLastStateChange(), + getExpirationTime(), + getInitialTimeout(), + getDefaultTimeout(), + getMinPresValue(), + getMaxPresValue(), + getResolution(), + getStateChangeValues(), + getListOfObjectPropertyReferences(), + getPriorityForWriting(), + getEventDetectionEnable(), + getNotificationClass(), + getTimeDelay(), + getTimeDelayNormal(), + getAlarmValues(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TrendLog.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TrendLog.java new file mode 100644 index 00000000000..38c908f6a9b --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TrendLog.java @@ -0,0 +1,1064 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class TrendLog implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final WritableProperty enable; + protected final OptionalProperty startTime; + protected final OptionalProperty stopTime; + protected final OptionalProperty logDeviceObjectProperty; + protected final OptionalProperty logInterval; + protected final OptionalProperty cOVResubscriptionInterval; + protected final OptionalProperty clientCOVIncrement; + protected final ReadableProperty stopWhenFull; + protected final ReadableProperty bufferSize; + protected final ReadableProperty logBuffer; + protected final WritableProperty recordCount; + protected final ReadableProperty totalRecordCount; + protected final ReadableProperty loggingType; + protected final OptionalProperty alignIntervals; + protected final OptionalProperty intervalOffset; + protected final OptionalProperty trigger; + protected final ReadableProperty statusFlags; + protected final OptionalProperty reliability; + protected final OptionalProperty notificationThreshold; + protected final OptionalProperty recordsSinceNotification; + protected final OptionalProperty lastNotifyRecord; + protected final ReadableProperty eventState; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public TrendLog( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + WritableProperty enable, + OptionalProperty startTime, + OptionalProperty stopTime, + OptionalProperty logDeviceObjectProperty, + OptionalProperty logInterval, + OptionalProperty cOVResubscriptionInterval, + OptionalProperty clientCOVIncrement, + ReadableProperty stopWhenFull, + ReadableProperty bufferSize, + ReadableProperty logBuffer, + WritableProperty recordCount, + ReadableProperty totalRecordCount, + ReadableProperty loggingType, + OptionalProperty alignIntervals, + OptionalProperty intervalOffset, + OptionalProperty trigger, + ReadableProperty statusFlags, + OptionalProperty reliability, + OptionalProperty notificationThreshold, + OptionalProperty recordsSinceNotification, + OptionalProperty lastNotifyRecord, + ReadableProperty eventState, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.enable = enable; + this.startTime = startTime; + this.stopTime = stopTime; + this.logDeviceObjectProperty = logDeviceObjectProperty; + this.logInterval = logInterval; + this.cOVResubscriptionInterval = cOVResubscriptionInterval; + this.clientCOVIncrement = clientCOVIncrement; + this.stopWhenFull = stopWhenFull; + this.bufferSize = bufferSize; + this.logBuffer = logBuffer; + this.recordCount = recordCount; + this.totalRecordCount = totalRecordCount; + this.loggingType = loggingType; + this.alignIntervals = alignIntervals; + this.intervalOffset = intervalOffset; + this.trigger = trigger; + this.statusFlags = statusFlags; + this.reliability = reliability; + this.notificationThreshold = notificationThreshold; + this.recordsSinceNotification = recordsSinceNotification; + this.lastNotifyRecord = lastNotifyRecord; + this.eventState = eventState; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public WritableProperty getEnable() { + return enable; + } + + public OptionalProperty getStartTime() { + return startTime; + } + + public OptionalProperty getStopTime() { + return stopTime; + } + + public OptionalProperty getLogDeviceObjectProperty() { + return logDeviceObjectProperty; + } + + public OptionalProperty getLogInterval() { + return logInterval; + } + + public OptionalProperty getCOVResubscriptionInterval() { + return cOVResubscriptionInterval; + } + + public OptionalProperty getClientCOVIncrement() { + return clientCOVIncrement; + } + + public ReadableProperty getStopWhenFull() { + return stopWhenFull; + } + + public ReadableProperty getBufferSize() { + return bufferSize; + } + + public ReadableProperty getLogBuffer() { + return logBuffer; + } + + public WritableProperty getRecordCount() { + return recordCount; + } + + public ReadableProperty getTotalRecordCount() { + return totalRecordCount; + } + + public ReadableProperty getLoggingType() { + return loggingType; + } + + public OptionalProperty getAlignIntervals() { + return alignIntervals; + } + + public OptionalProperty getIntervalOffset() { + return intervalOffset; + } + + public OptionalProperty getTrigger() { + return trigger; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public OptionalProperty getNotificationThreshold() { + return notificationThreshold; + } + + public OptionalProperty getRecordsSinceNotification() { + return recordsSinceNotification; + } + + public OptionalProperty getLastNotifyRecord() { + return lastNotifyRecord; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("TrendLog"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (enable) + writeSimpleField("enable", enable, writeComplex(writeBuffer)); + + // Simple Field (startTime) + writeSimpleField("startTime", startTime, writeComplex(writeBuffer)); + + // Simple Field (stopTime) + writeSimpleField("stopTime", stopTime, writeComplex(writeBuffer)); + + // Simple Field (logDeviceObjectProperty) + writeSimpleField("logDeviceObjectProperty", logDeviceObjectProperty, writeComplex(writeBuffer)); + + // Simple Field (logInterval) + writeSimpleField("logInterval", logInterval, writeComplex(writeBuffer)); + + // Simple Field (cOVResubscriptionInterval) + writeSimpleField( + "cOVResubscriptionInterval", cOVResubscriptionInterval, writeComplex(writeBuffer)); + + // Simple Field (clientCOVIncrement) + writeSimpleField("clientCOVIncrement", clientCOVIncrement, writeComplex(writeBuffer)); + + // Simple Field (stopWhenFull) + writeSimpleField("stopWhenFull", stopWhenFull, writeComplex(writeBuffer)); + + // Simple Field (bufferSize) + writeSimpleField("bufferSize", bufferSize, writeComplex(writeBuffer)); + + // Simple Field (logBuffer) + writeSimpleField("logBuffer", logBuffer, writeComplex(writeBuffer)); + + // Simple Field (recordCount) + writeSimpleField("recordCount", recordCount, writeComplex(writeBuffer)); + + // Simple Field (totalRecordCount) + writeSimpleField("totalRecordCount", totalRecordCount, writeComplex(writeBuffer)); + + // Simple Field (loggingType) + writeSimpleField("loggingType", loggingType, writeComplex(writeBuffer)); + + // Simple Field (alignIntervals) + writeSimpleField("alignIntervals", alignIntervals, writeComplex(writeBuffer)); + + // Simple Field (intervalOffset) + writeSimpleField("intervalOffset", intervalOffset, writeComplex(writeBuffer)); + + // Simple Field (trigger) + writeSimpleField("trigger", trigger, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (notificationThreshold) + writeSimpleField("notificationThreshold", notificationThreshold, writeComplex(writeBuffer)); + + // Simple Field (recordsSinceNotification) + writeSimpleField( + "recordsSinceNotification", recordsSinceNotification, writeComplex(writeBuffer)); + + // Simple Field (lastNotifyRecord) + writeSimpleField("lastNotifyRecord", lastNotifyRecord, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("TrendLog"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + TrendLog _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (enable) + lengthInBits += enable.getLengthInBits(); + + // Simple field (startTime) + lengthInBits += startTime.getLengthInBits(); + + // Simple field (stopTime) + lengthInBits += stopTime.getLengthInBits(); + + // Simple field (logDeviceObjectProperty) + lengthInBits += logDeviceObjectProperty.getLengthInBits(); + + // Simple field (logInterval) + lengthInBits += logInterval.getLengthInBits(); + + // Simple field (cOVResubscriptionInterval) + lengthInBits += cOVResubscriptionInterval.getLengthInBits(); + + // Simple field (clientCOVIncrement) + lengthInBits += clientCOVIncrement.getLengthInBits(); + + // Simple field (stopWhenFull) + lengthInBits += stopWhenFull.getLengthInBits(); + + // Simple field (bufferSize) + lengthInBits += bufferSize.getLengthInBits(); + + // Simple field (logBuffer) + lengthInBits += logBuffer.getLengthInBits(); + + // Simple field (recordCount) + lengthInBits += recordCount.getLengthInBits(); + + // Simple field (totalRecordCount) + lengthInBits += totalRecordCount.getLengthInBits(); + + // Simple field (loggingType) + lengthInBits += loggingType.getLengthInBits(); + + // Simple field (alignIntervals) + lengthInBits += alignIntervals.getLengthInBits(); + + // Simple field (intervalOffset) + lengthInBits += intervalOffset.getLengthInBits(); + + // Simple field (trigger) + lengthInBits += trigger.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (notificationThreshold) + lengthInBits += notificationThreshold.getLengthInBits(); + + // Simple field (recordsSinceNotification) + lengthInBits += recordsSinceNotification.getLengthInBits(); + + // Simple field (lastNotifyRecord) + lengthInBits += lastNotifyRecord.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static TrendLog staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("TrendLog"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + WritableProperty enable = + readSimpleField( + "enable", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty startTime = + readSimpleField( + "startTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty stopTime = + readSimpleField( + "stopTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty logDeviceObjectProperty = + readSimpleField( + "logDeviceObjectProperty", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetDeviceObjectPropertyReference")), + readBuffer)); + + OptionalProperty logInterval = + readSimpleField( + "logInterval", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty cOVResubscriptionInterval = + readSimpleField( + "cOVResubscriptionInterval", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty clientCOVIncrement = + readSimpleField( + "clientCOVIncrement", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetClientCOV")), + readBuffer)); + + ReadableProperty stopWhenFull = + readSimpleField( + "stopWhenFull", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty bufferSize = + readSimpleField( + "bufferSize", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty logBuffer = + readSimpleField( + "logBuffer", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLogRecord")), + readBuffer)); + + WritableProperty recordCount = + readSimpleField( + "recordCount", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty totalRecordCount = + readSimpleField( + "totalRecordCount", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty loggingType = + readSimpleField( + "loggingType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetLoggingType")), + readBuffer)); + + OptionalProperty alignIntervals = + readSimpleField( + "alignIntervals", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty intervalOffset = + readSimpleField( + "intervalOffset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty trigger = + readSimpleField( + "trigger", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + OptionalProperty notificationThreshold = + readSimpleField( + "notificationThreshold", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty recordsSinceNotification = + readSimpleField( + "recordsSinceNotification", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty lastNotifyRecord = + readSimpleField( + "lastNotifyRecord", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("TrendLog"); + // Create the instance + TrendLog _trendLog; + _trendLog = + new TrendLog( + objectIdentifier, + objectName, + objectType, + description, + enable, + startTime, + stopTime, + logDeviceObjectProperty, + logInterval, + cOVResubscriptionInterval, + clientCOVIncrement, + stopWhenFull, + bufferSize, + logBuffer, + recordCount, + totalRecordCount, + loggingType, + alignIntervals, + intervalOffset, + trigger, + statusFlags, + reliability, + notificationThreshold, + recordsSinceNotification, + lastNotifyRecord, + eventState, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _trendLog; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof TrendLog)) { + return false; + } + TrendLog that = (TrendLog) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getEnable() == that.getEnable()) + && (getStartTime() == that.getStartTime()) + && (getStopTime() == that.getStopTime()) + && (getLogDeviceObjectProperty() == that.getLogDeviceObjectProperty()) + && (getLogInterval() == that.getLogInterval()) + && (getCOVResubscriptionInterval() == that.getCOVResubscriptionInterval()) + && (getClientCOVIncrement() == that.getClientCOVIncrement()) + && (getStopWhenFull() == that.getStopWhenFull()) + && (getBufferSize() == that.getBufferSize()) + && (getLogBuffer() == that.getLogBuffer()) + && (getRecordCount() == that.getRecordCount()) + && (getTotalRecordCount() == that.getTotalRecordCount()) + && (getLoggingType() == that.getLoggingType()) + && (getAlignIntervals() == that.getAlignIntervals()) + && (getIntervalOffset() == that.getIntervalOffset()) + && (getTrigger() == that.getTrigger()) + && (getStatusFlags() == that.getStatusFlags()) + && (getReliability() == that.getReliability()) + && (getNotificationThreshold() == that.getNotificationThreshold()) + && (getRecordsSinceNotification() == that.getRecordsSinceNotification()) + && (getLastNotifyRecord() == that.getLastNotifyRecord()) + && (getEventState() == that.getEventState()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getEnable(), + getStartTime(), + getStopTime(), + getLogDeviceObjectProperty(), + getLogInterval(), + getCOVResubscriptionInterval(), + getClientCOVIncrement(), + getStopWhenFull(), + getBufferSize(), + getLogBuffer(), + getRecordCount(), + getTotalRecordCount(), + getLoggingType(), + getAlignIntervals(), + getIntervalOffset(), + getTrigger(), + getStatusFlags(), + getReliability(), + getNotificationThreshold(), + getRecordsSinceNotification(), + getLastNotifyRecord(), + getEventState(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TrendLogMultiple.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TrendLogMultiple.java new file mode 100644 index 00000000000..d9336b5a5ed --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/TrendLogMultiple.java @@ -0,0 +1,1019 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class TrendLogMultiple implements Message { + + // Properties. + protected final ReadableProperty objectIdentifier; + protected final ReadableProperty objectName; + protected final ReadableProperty objectType; + protected final OptionalProperty description; + protected final ReadableProperty statusFlags; + protected final ReadableProperty eventState; + protected final OptionalProperty reliability; + protected final WritableProperty enable; + protected final OptionalProperty startTime; + protected final OptionalProperty stopTime; + protected final ReadableProperty logDeviceObjectProperty; + protected final ReadableProperty loggingType; + protected final ReadableProperty logInterval; + protected final OptionalProperty alignIntervals; + protected final OptionalProperty intervalOffset; + protected final OptionalProperty trigger; + protected final ReadableProperty stopWhenFull; + protected final ReadableProperty bufferSize; + protected final ReadableProperty logBuffer; + protected final WritableProperty recordCount; + protected final ReadableProperty totalRecordCount; + protected final OptionalProperty notificationThreshold; + protected final OptionalProperty recordsSinceNotification; + protected final OptionalProperty lastNotifyRecord; + protected final OptionalProperty notificationClass; + protected final OptionalProperty eventEnable; + protected final OptionalProperty ackedTransitions; + protected final OptionalProperty notifyType; + protected final OptionalProperty eventTimeStamps; + protected final OptionalProperty eventMessageTexts; + protected final OptionalProperty eventMessageTextsConfig; + protected final OptionalProperty eventDetectionEnable; + protected final OptionalProperty eventAlgorithmInhibitRef; + protected final OptionalProperty eventAlgorithmInhibit; + protected final OptionalProperty reliabilityEvaluationInhibit; + protected final ReadableProperty propertyList; + protected final OptionalProperty tags; + protected final OptionalProperty profileLocation; + protected final OptionalProperty profileName; + + public TrendLogMultiple( + ReadableProperty objectIdentifier, + ReadableProperty objectName, + ReadableProperty objectType, + OptionalProperty description, + ReadableProperty statusFlags, + ReadableProperty eventState, + OptionalProperty reliability, + WritableProperty enable, + OptionalProperty startTime, + OptionalProperty stopTime, + ReadableProperty logDeviceObjectProperty, + ReadableProperty loggingType, + ReadableProperty logInterval, + OptionalProperty alignIntervals, + OptionalProperty intervalOffset, + OptionalProperty trigger, + ReadableProperty stopWhenFull, + ReadableProperty bufferSize, + ReadableProperty logBuffer, + WritableProperty recordCount, + ReadableProperty totalRecordCount, + OptionalProperty notificationThreshold, + OptionalProperty recordsSinceNotification, + OptionalProperty lastNotifyRecord, + OptionalProperty notificationClass, + OptionalProperty eventEnable, + OptionalProperty ackedTransitions, + OptionalProperty notifyType, + OptionalProperty eventTimeStamps, + OptionalProperty eventMessageTexts, + OptionalProperty eventMessageTextsConfig, + OptionalProperty eventDetectionEnable, + OptionalProperty eventAlgorithmInhibitRef, + OptionalProperty eventAlgorithmInhibit, + OptionalProperty reliabilityEvaluationInhibit, + ReadableProperty propertyList, + OptionalProperty tags, + OptionalProperty profileLocation, + OptionalProperty profileName) { + super(); + this.objectIdentifier = objectIdentifier; + this.objectName = objectName; + this.objectType = objectType; + this.description = description; + this.statusFlags = statusFlags; + this.eventState = eventState; + this.reliability = reliability; + this.enable = enable; + this.startTime = startTime; + this.stopTime = stopTime; + this.logDeviceObjectProperty = logDeviceObjectProperty; + this.loggingType = loggingType; + this.logInterval = logInterval; + this.alignIntervals = alignIntervals; + this.intervalOffset = intervalOffset; + this.trigger = trigger; + this.stopWhenFull = stopWhenFull; + this.bufferSize = bufferSize; + this.logBuffer = logBuffer; + this.recordCount = recordCount; + this.totalRecordCount = totalRecordCount; + this.notificationThreshold = notificationThreshold; + this.recordsSinceNotification = recordsSinceNotification; + this.lastNotifyRecord = lastNotifyRecord; + this.notificationClass = notificationClass; + this.eventEnable = eventEnable; + this.ackedTransitions = ackedTransitions; + this.notifyType = notifyType; + this.eventTimeStamps = eventTimeStamps; + this.eventMessageTexts = eventMessageTexts; + this.eventMessageTextsConfig = eventMessageTextsConfig; + this.eventDetectionEnable = eventDetectionEnable; + this.eventAlgorithmInhibitRef = eventAlgorithmInhibitRef; + this.eventAlgorithmInhibit = eventAlgorithmInhibit; + this.reliabilityEvaluationInhibit = reliabilityEvaluationInhibit; + this.propertyList = propertyList; + this.tags = tags; + this.profileLocation = profileLocation; + this.profileName = profileName; + } + + public ReadableProperty getObjectIdentifier() { + return objectIdentifier; + } + + public ReadableProperty getObjectName() { + return objectName; + } + + public ReadableProperty getObjectType() { + return objectType; + } + + public OptionalProperty getDescription() { + return description; + } + + public ReadableProperty getStatusFlags() { + return statusFlags; + } + + public ReadableProperty getEventState() { + return eventState; + } + + public OptionalProperty getReliability() { + return reliability; + } + + public WritableProperty getEnable() { + return enable; + } + + public OptionalProperty getStartTime() { + return startTime; + } + + public OptionalProperty getStopTime() { + return stopTime; + } + + public ReadableProperty getLogDeviceObjectProperty() { + return logDeviceObjectProperty; + } + + public ReadableProperty getLoggingType() { + return loggingType; + } + + public ReadableProperty getLogInterval() { + return logInterval; + } + + public OptionalProperty getAlignIntervals() { + return alignIntervals; + } + + public OptionalProperty getIntervalOffset() { + return intervalOffset; + } + + public OptionalProperty getTrigger() { + return trigger; + } + + public ReadableProperty getStopWhenFull() { + return stopWhenFull; + } + + public ReadableProperty getBufferSize() { + return bufferSize; + } + + public ReadableProperty getLogBuffer() { + return logBuffer; + } + + public WritableProperty getRecordCount() { + return recordCount; + } + + public ReadableProperty getTotalRecordCount() { + return totalRecordCount; + } + + public OptionalProperty getNotificationThreshold() { + return notificationThreshold; + } + + public OptionalProperty getRecordsSinceNotification() { + return recordsSinceNotification; + } + + public OptionalProperty getLastNotifyRecord() { + return lastNotifyRecord; + } + + public OptionalProperty getNotificationClass() { + return notificationClass; + } + + public OptionalProperty getEventEnable() { + return eventEnable; + } + + public OptionalProperty getAckedTransitions() { + return ackedTransitions; + } + + public OptionalProperty getNotifyType() { + return notifyType; + } + + public OptionalProperty getEventTimeStamps() { + return eventTimeStamps; + } + + public OptionalProperty getEventMessageTexts() { + return eventMessageTexts; + } + + public OptionalProperty getEventMessageTextsConfig() { + return eventMessageTextsConfig; + } + + public OptionalProperty getEventDetectionEnable() { + return eventDetectionEnable; + } + + public OptionalProperty getEventAlgorithmInhibitRef() { + return eventAlgorithmInhibitRef; + } + + public OptionalProperty getEventAlgorithmInhibit() { + return eventAlgorithmInhibit; + } + + public OptionalProperty getReliabilityEvaluationInhibit() { + return reliabilityEvaluationInhibit; + } + + public ReadableProperty getPropertyList() { + return propertyList; + } + + public OptionalProperty getTags() { + return tags; + } + + public OptionalProperty getProfileLocation() { + return profileLocation; + } + + public OptionalProperty getProfileName() { + return profileName; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("TrendLogMultiple"); + + // Simple Field (objectIdentifier) + writeSimpleField("objectIdentifier", objectIdentifier, writeComplex(writeBuffer)); + + // Simple Field (objectName) + writeSimpleField("objectName", objectName, writeComplex(writeBuffer)); + + // Simple Field (objectType) + writeSimpleField("objectType", objectType, writeComplex(writeBuffer)); + + // Simple Field (description) + writeSimpleField("description", description, writeComplex(writeBuffer)); + + // Simple Field (statusFlags) + writeSimpleField("statusFlags", statusFlags, writeComplex(writeBuffer)); + + // Simple Field (eventState) + writeSimpleField("eventState", eventState, writeComplex(writeBuffer)); + + // Simple Field (reliability) + writeSimpleField("reliability", reliability, writeComplex(writeBuffer)); + + // Simple Field (enable) + writeSimpleField("enable", enable, writeComplex(writeBuffer)); + + // Simple Field (startTime) + writeSimpleField("startTime", startTime, writeComplex(writeBuffer)); + + // Simple Field (stopTime) + writeSimpleField("stopTime", stopTime, writeComplex(writeBuffer)); + + // Simple Field (logDeviceObjectProperty) + writeSimpleField("logDeviceObjectProperty", logDeviceObjectProperty, writeComplex(writeBuffer)); + + // Simple Field (loggingType) + writeSimpleField("loggingType", loggingType, writeComplex(writeBuffer)); + + // Simple Field (logInterval) + writeSimpleField("logInterval", logInterval, writeComplex(writeBuffer)); + + // Simple Field (alignIntervals) + writeSimpleField("alignIntervals", alignIntervals, writeComplex(writeBuffer)); + + // Simple Field (intervalOffset) + writeSimpleField("intervalOffset", intervalOffset, writeComplex(writeBuffer)); + + // Simple Field (trigger) + writeSimpleField("trigger", trigger, writeComplex(writeBuffer)); + + // Simple Field (stopWhenFull) + writeSimpleField("stopWhenFull", stopWhenFull, writeComplex(writeBuffer)); + + // Simple Field (bufferSize) + writeSimpleField("bufferSize", bufferSize, writeComplex(writeBuffer)); + + // Simple Field (logBuffer) + writeSimpleField("logBuffer", logBuffer, writeComplex(writeBuffer)); + + // Simple Field (recordCount) + writeSimpleField("recordCount", recordCount, writeComplex(writeBuffer)); + + // Simple Field (totalRecordCount) + writeSimpleField("totalRecordCount", totalRecordCount, writeComplex(writeBuffer)); + + // Simple Field (notificationThreshold) + writeSimpleField("notificationThreshold", notificationThreshold, writeComplex(writeBuffer)); + + // Simple Field (recordsSinceNotification) + writeSimpleField( + "recordsSinceNotification", recordsSinceNotification, writeComplex(writeBuffer)); + + // Simple Field (lastNotifyRecord) + writeSimpleField("lastNotifyRecord", lastNotifyRecord, writeComplex(writeBuffer)); + + // Simple Field (notificationClass) + writeSimpleField("notificationClass", notificationClass, writeComplex(writeBuffer)); + + // Simple Field (eventEnable) + writeSimpleField("eventEnable", eventEnable, writeComplex(writeBuffer)); + + // Simple Field (ackedTransitions) + writeSimpleField("ackedTransitions", ackedTransitions, writeComplex(writeBuffer)); + + // Simple Field (notifyType) + writeSimpleField("notifyType", notifyType, writeComplex(writeBuffer)); + + // Simple Field (eventTimeStamps) + writeSimpleField("eventTimeStamps", eventTimeStamps, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTexts) + writeSimpleField("eventMessageTexts", eventMessageTexts, writeComplex(writeBuffer)); + + // Simple Field (eventMessageTextsConfig) + writeSimpleField("eventMessageTextsConfig", eventMessageTextsConfig, writeComplex(writeBuffer)); + + // Simple Field (eventDetectionEnable) + writeSimpleField("eventDetectionEnable", eventDetectionEnable, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibitRef) + writeSimpleField( + "eventAlgorithmInhibitRef", eventAlgorithmInhibitRef, writeComplex(writeBuffer)); + + // Simple Field (eventAlgorithmInhibit) + writeSimpleField("eventAlgorithmInhibit", eventAlgorithmInhibit, writeComplex(writeBuffer)); + + // Simple Field (reliabilityEvaluationInhibit) + writeSimpleField( + "reliabilityEvaluationInhibit", reliabilityEvaluationInhibit, writeComplex(writeBuffer)); + + // Simple Field (propertyList) + writeSimpleField("propertyList", propertyList, writeComplex(writeBuffer)); + + // Simple Field (tags) + writeSimpleField("tags", tags, writeComplex(writeBuffer)); + + // Simple Field (profileLocation) + writeSimpleField("profileLocation", profileLocation, writeComplex(writeBuffer)); + + // Simple Field (profileName) + writeSimpleField("profileName", profileName, writeComplex(writeBuffer)); + + writeBuffer.popContext("TrendLogMultiple"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + TrendLogMultiple _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + // Simple field (objectIdentifier) + lengthInBits += objectIdentifier.getLengthInBits(); + + // Simple field (objectName) + lengthInBits += objectName.getLengthInBits(); + + // Simple field (objectType) + lengthInBits += objectType.getLengthInBits(); + + // Simple field (description) + lengthInBits += description.getLengthInBits(); + + // Simple field (statusFlags) + lengthInBits += statusFlags.getLengthInBits(); + + // Simple field (eventState) + lengthInBits += eventState.getLengthInBits(); + + // Simple field (reliability) + lengthInBits += reliability.getLengthInBits(); + + // Simple field (enable) + lengthInBits += enable.getLengthInBits(); + + // Simple field (startTime) + lengthInBits += startTime.getLengthInBits(); + + // Simple field (stopTime) + lengthInBits += stopTime.getLengthInBits(); + + // Simple field (logDeviceObjectProperty) + lengthInBits += logDeviceObjectProperty.getLengthInBits(); + + // Simple field (loggingType) + lengthInBits += loggingType.getLengthInBits(); + + // Simple field (logInterval) + lengthInBits += logInterval.getLengthInBits(); + + // Simple field (alignIntervals) + lengthInBits += alignIntervals.getLengthInBits(); + + // Simple field (intervalOffset) + lengthInBits += intervalOffset.getLengthInBits(); + + // Simple field (trigger) + lengthInBits += trigger.getLengthInBits(); + + // Simple field (stopWhenFull) + lengthInBits += stopWhenFull.getLengthInBits(); + + // Simple field (bufferSize) + lengthInBits += bufferSize.getLengthInBits(); + + // Simple field (logBuffer) + lengthInBits += logBuffer.getLengthInBits(); + + // Simple field (recordCount) + lengthInBits += recordCount.getLengthInBits(); + + // Simple field (totalRecordCount) + lengthInBits += totalRecordCount.getLengthInBits(); + + // Simple field (notificationThreshold) + lengthInBits += notificationThreshold.getLengthInBits(); + + // Simple field (recordsSinceNotification) + lengthInBits += recordsSinceNotification.getLengthInBits(); + + // Simple field (lastNotifyRecord) + lengthInBits += lastNotifyRecord.getLengthInBits(); + + // Simple field (notificationClass) + lengthInBits += notificationClass.getLengthInBits(); + + // Simple field (eventEnable) + lengthInBits += eventEnable.getLengthInBits(); + + // Simple field (ackedTransitions) + lengthInBits += ackedTransitions.getLengthInBits(); + + // Simple field (notifyType) + lengthInBits += notifyType.getLengthInBits(); + + // Simple field (eventTimeStamps) + lengthInBits += eventTimeStamps.getLengthInBits(); + + // Simple field (eventMessageTexts) + lengthInBits += eventMessageTexts.getLengthInBits(); + + // Simple field (eventMessageTextsConfig) + lengthInBits += eventMessageTextsConfig.getLengthInBits(); + + // Simple field (eventDetectionEnable) + lengthInBits += eventDetectionEnable.getLengthInBits(); + + // Simple field (eventAlgorithmInhibitRef) + lengthInBits += eventAlgorithmInhibitRef.getLengthInBits(); + + // Simple field (eventAlgorithmInhibit) + lengthInBits += eventAlgorithmInhibit.getLengthInBits(); + + // Simple field (reliabilityEvaluationInhibit) + lengthInBits += reliabilityEvaluationInhibit.getLengthInBits(); + + // Simple field (propertyList) + lengthInBits += propertyList.getLengthInBits(); + + // Simple field (tags) + lengthInBits += tags.getLengthInBits(); + + // Simple field (profileLocation) + lengthInBits += profileLocation.getLengthInBits(); + + // Simple field (profileName) + lengthInBits += profileName.getLengthInBits(); + + return lengthInBits; + } + + public static TrendLogMultiple staticParse(ReadBuffer readBuffer) throws ParseException { + readBuffer.pullContext("TrendLogMultiple"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + ReadableProperty objectIdentifier = + readSimpleField( + "objectIdentifier", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectIdentifier")), + readBuffer)); + + ReadableProperty objectName = + readSimpleField( + "objectName", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty objectType = + readSimpleField( + "objectType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetObjectType")), + readBuffer)); + + OptionalProperty description = + readSimpleField( + "description", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + ReadableProperty statusFlags = + readSimpleField( + "statusFlags", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetStatusFlags")), + readBuffer)); + + ReadableProperty eventState = + readSimpleField( + "eventState", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetEventState")), + readBuffer)); + + OptionalProperty reliability = + readSimpleField( + "reliability", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetReliability")), + readBuffer)); + + WritableProperty enable = + readSimpleField( + "enable", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty startTime = + readSimpleField( + "startTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + OptionalProperty stopTime = + readSimpleField( + "stopTime", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetDateTime")), + readBuffer)); + + ReadableProperty logDeviceObjectProperty = + readSimpleField( + "logDeviceObjectProperty", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, + (String) ("BACnetARRAY[N] of BACnetDeviceObjectPropertyReference")), + readBuffer)); + + ReadableProperty loggingType = + readSimpleField( + "loggingType", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BACnetLoggingType")), + readBuffer)); + + ReadableProperty logInterval = + readSimpleField( + "logInterval", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty alignIntervals = + readSimpleField( + "alignIntervals", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty intervalOffset = + readSimpleField( + "intervalOffset", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty trigger = + readSimpleField( + "trigger", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty stopWhenFull = + readSimpleField( + "stopWhenFull", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty bufferSize = + readSimpleField( + "bufferSize", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty logBuffer = + readSimpleField( + "logBuffer", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetLIST of BACnetLogMultipleRecord")), + readBuffer)); + + WritableProperty recordCount = + readSimpleField( + "recordCount", + readComplex( + () -> WritableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + ReadableProperty totalRecordCount = + readSimpleField( + "totalRecordCount", + readComplex( + () -> ReadableProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty notificationThreshold = + readSimpleField( + "notificationThreshold", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty recordsSinceNotification = + readSimpleField( + "recordsSinceNotification", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty lastNotifyRecord = + readSimpleField( + "lastNotifyRecord", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned32")), + readBuffer)); + + OptionalProperty notificationClass = + readSimpleField( + "notificationClass", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("Unsigned")), readBuffer)); + + OptionalProperty eventEnable = + readSimpleField( + "eventEnable", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty ackedTransitions = + readSimpleField( + "ackedTransitions", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetEventTransitionBits")), + readBuffer)); + + OptionalProperty notifyType = + readSimpleField( + "notifyType", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BACnetNotifyType")), + readBuffer)); + + OptionalProperty eventTimeStamps = + readSimpleField( + "eventTimeStamps", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of BACnetTimeStamp")), + readBuffer)); + + OptionalProperty eventMessageTexts = + readSimpleField( + "eventMessageTexts", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventMessageTextsConfig = + readSimpleField( + "eventMessageTextsConfig", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[3] of CharacterString")), + readBuffer)); + + OptionalProperty eventDetectionEnable = + readSimpleField( + "eventDetectionEnable", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty eventAlgorithmInhibitRef = + readSimpleField( + "eventAlgorithmInhibitRef", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetObjectPropertyReference")), + readBuffer)); + + OptionalProperty eventAlgorithmInhibit = + readSimpleField( + "eventAlgorithmInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + OptionalProperty reliabilityEvaluationInhibit = + readSimpleField( + "reliabilityEvaluationInhibit", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("BOOLEAN")), readBuffer)); + + ReadableProperty propertyList = + readSimpleField( + "propertyList", + readComplex( + () -> + ReadableProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetPropertyIdentifier")), + readBuffer)); + + OptionalProperty tags = + readSimpleField( + "tags", + readComplex( + () -> + OptionalProperty.staticParse( + readBuffer, (String) ("BACnetARRAY[N] of BACnetNameValue")), + readBuffer)); + + OptionalProperty profileLocation = + readSimpleField( + "profileLocation", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + OptionalProperty profileName = + readSimpleField( + "profileName", + readComplex( + () -> OptionalProperty.staticParse(readBuffer, (String) ("CharacterString")), + readBuffer)); + + readBuffer.closeContext("TrendLogMultiple"); + // Create the instance + TrendLogMultiple _trendLogMultiple; + _trendLogMultiple = + new TrendLogMultiple( + objectIdentifier, + objectName, + objectType, + description, + statusFlags, + eventState, + reliability, + enable, + startTime, + stopTime, + logDeviceObjectProperty, + loggingType, + logInterval, + alignIntervals, + intervalOffset, + trigger, + stopWhenFull, + bufferSize, + logBuffer, + recordCount, + totalRecordCount, + notificationThreshold, + recordsSinceNotification, + lastNotifyRecord, + notificationClass, + eventEnable, + ackedTransitions, + notifyType, + eventTimeStamps, + eventMessageTexts, + eventMessageTextsConfig, + eventDetectionEnable, + eventAlgorithmInhibitRef, + eventAlgorithmInhibit, + reliabilityEvaluationInhibit, + propertyList, + tags, + profileLocation, + profileName); + return _trendLogMultiple; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof TrendLogMultiple)) { + return false; + } + TrendLogMultiple that = (TrendLogMultiple) o; + return (getObjectIdentifier() == that.getObjectIdentifier()) + && (getObjectName() == that.getObjectName()) + && (getObjectType() == that.getObjectType()) + && (getDescription() == that.getDescription()) + && (getStatusFlags() == that.getStatusFlags()) + && (getEventState() == that.getEventState()) + && (getReliability() == that.getReliability()) + && (getEnable() == that.getEnable()) + && (getStartTime() == that.getStartTime()) + && (getStopTime() == that.getStopTime()) + && (getLogDeviceObjectProperty() == that.getLogDeviceObjectProperty()) + && (getLoggingType() == that.getLoggingType()) + && (getLogInterval() == that.getLogInterval()) + && (getAlignIntervals() == that.getAlignIntervals()) + && (getIntervalOffset() == that.getIntervalOffset()) + && (getTrigger() == that.getTrigger()) + && (getStopWhenFull() == that.getStopWhenFull()) + && (getBufferSize() == that.getBufferSize()) + && (getLogBuffer() == that.getLogBuffer()) + && (getRecordCount() == that.getRecordCount()) + && (getTotalRecordCount() == that.getTotalRecordCount()) + && (getNotificationThreshold() == that.getNotificationThreshold()) + && (getRecordsSinceNotification() == that.getRecordsSinceNotification()) + && (getLastNotifyRecord() == that.getLastNotifyRecord()) + && (getNotificationClass() == that.getNotificationClass()) + && (getEventEnable() == that.getEventEnable()) + && (getAckedTransitions() == that.getAckedTransitions()) + && (getNotifyType() == that.getNotifyType()) + && (getEventTimeStamps() == that.getEventTimeStamps()) + && (getEventMessageTexts() == that.getEventMessageTexts()) + && (getEventMessageTextsConfig() == that.getEventMessageTextsConfig()) + && (getEventDetectionEnable() == that.getEventDetectionEnable()) + && (getEventAlgorithmInhibitRef() == that.getEventAlgorithmInhibitRef()) + && (getEventAlgorithmInhibit() == that.getEventAlgorithmInhibit()) + && (getReliabilityEvaluationInhibit() == that.getReliabilityEvaluationInhibit()) + && (getPropertyList() == that.getPropertyList()) + && (getTags() == that.getTags()) + && (getProfileLocation() == that.getProfileLocation()) + && (getProfileName() == that.getProfileName()) + && true; + } + + @Override + public int hashCode() { + return Objects.hash( + getObjectIdentifier(), + getObjectName(), + getObjectType(), + getDescription(), + getStatusFlags(), + getEventState(), + getReliability(), + getEnable(), + getStartTime(), + getStopTime(), + getLogDeviceObjectProperty(), + getLoggingType(), + getLogInterval(), + getAlignIntervals(), + getIntervalOffset(), + getTrigger(), + getStopWhenFull(), + getBufferSize(), + getLogBuffer(), + getRecordCount(), + getTotalRecordCount(), + getNotificationThreshold(), + getRecordsSinceNotification(), + getLastNotifyRecord(), + getNotificationClass(), + getEventEnable(), + getAckedTransitions(), + getNotifyType(), + getEventTimeStamps(), + getEventMessageTexts(), + getEventMessageTextsConfig(), + getEventDetectionEnable(), + getEventAlgorithmInhibitRef(), + getEventAlgorithmInhibit(), + getReliabilityEvaluationInhibit(), + getPropertyList(), + getTags(), + getProfileLocation(), + getProfileName()); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/WritableProperty.java b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/WritableProperty.java new file mode 100644 index 00000000000..b627a4f7c2c --- /dev/null +++ b/plc4j/drivers/bacnet/src/main/generated/org/apache/plc4x/java/bacnetip/readwrite/WritableProperty.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.plc4x.java.bacnetip.readwrite; + +import static org.apache.plc4x.java.spi.codegen.fields.FieldReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.fields.FieldWriterFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataReaderFactory.*; +import static org.apache.plc4x.java.spi.codegen.io.DataWriterFactory.*; +import static org.apache.plc4x.java.spi.generation.StaticHelper.*; + +import java.time.*; +import java.util.*; +import org.apache.plc4x.java.api.exceptions.*; +import org.apache.plc4x.java.api.value.*; +import org.apache.plc4x.java.spi.codegen.*; +import org.apache.plc4x.java.spi.codegen.fields.*; +import org.apache.plc4x.java.spi.codegen.io.*; +import org.apache.plc4x.java.spi.generation.*; + +// Code generated by code-generation. DO NOT EDIT. + +public class WritableProperty implements Message { + + // Arguments. + protected final String bacType; + + public WritableProperty(String bacType) { + super(); + this.bacType = bacType; + } + + public void serialize(WriteBuffer writeBuffer) throws SerializationException { + PositionAware positionAware = writeBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + writeBuffer.pushContext("WritableProperty"); + + writeBuffer.popContext("WritableProperty"); + } + + @Override + public int getLengthInBytes() { + return (int) Math.ceil((float) getLengthInBits() / 8.0); + } + + @Override + public int getLengthInBits() { + int lengthInBits = 0; + WritableProperty _value = this; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + return lengthInBits; + } + + public static WritableProperty staticParse(ReadBuffer readBuffer, String bacType) + throws ParseException { + readBuffer.pullContext("WritableProperty"); + PositionAware positionAware = readBuffer; + boolean _lastItem = ThreadLocalHelper.lastItemThreadLocal.get(); + + readBuffer.closeContext("WritableProperty"); + // Create the instance + WritableProperty _writableProperty; + _writableProperty = new WritableProperty(bacType); + + return _writableProperty; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof WritableProperty)) { + return false; + } + WritableProperty that = (WritableProperty) o; + return true; + } + + @Override + public int hashCode() { + return Objects.hash(); + } + + @Override + public String toString() { + WriteBufferBoxBased writeBufferBoxBased = new WriteBufferBoxBased(true, true); + try { + writeBufferBoxBased.writeSerializable(this); + } catch (SerializationException e) { + throw new RuntimeException(e); + } + return "\n" + writeBufferBoxBased.getBox().toString() + "\n"; + } +} diff --git a/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java b/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java index 643aaecce45..b909531a0b5 100644 --- a/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java +++ b/plc4j/drivers/bacnet/src/test/java/org/apache/plc4x/java/bacnetip/RandomPackagesTest.java @@ -37,7 +37,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.*; +import java.io.ByteArrayOutputStream; +import java.io.Closeable; +import java.io.File; +import java.io.IOException; import java.math.BigInteger; import java.net.URL; import java.nio.file.*; diff --git a/protocols/bacnetip/pom.xml b/protocols/bacnetip/pom.xml index 8ede17a621e..2a193dd9ecd 100644 --- a/protocols/bacnetip/pom.xml +++ b/protocols/bacnetip/pom.xml @@ -17,7 +17,9 @@ specific language governing permissions and limitations under the License. --> - + 4.0.0 @@ -66,7 +68,7 @@ update-generated-code - + - org.codehaus.gmaven - groovy-maven-plugin - 2.1.1 + org.codehaus.gmavenplus + gmavenplus-plugin + 3.0.2 @@ -87,7 +89,9 @@ execute - ${project.basedir}/src/main/script/getVendorIds.groovy + + + @@ -97,7 +101,9 @@ execute - ${project.basedir}/src/main/script/produceTaggedEnums.groovy + + + @@ -107,7 +113,9 @@ execute - ${project.basedir}/src/main/script/produceTaggedPrivateEnums.groovy + + + @@ -117,7 +125,21 @@ execute - ${project.basedir}/src/main/script/produceTaggedBitStrings.groovy + + + + + + + generate-objects + generate-resources + + execute + + + + + @@ -127,6 +149,16 @@ groovy ${groovy.version} + + org.apache.groovy + groovy-templates + ${groovy.version} + + + org.apache.groovy + groovy-ant + ${groovy.version} + org.jsoup jsoup diff --git a/protocols/bacnetip/src/main/generated/protocols/bacnetip/bacnet-objects.mspec b/protocols/bacnetip/src/main/generated/protocols/bacnetip/bacnet-objects.mspec new file mode 100644 index 00000000000..a4c80ad50dc --- /dev/null +++ b/protocols/bacnetip/src/main/generated/protocols/bacnetip/bacnet-objects.mspec @@ -0,0 +1,2296 @@ + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + // Code generated by code-generation. DO NOT EDIT. + +[type AnalogInput + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"REAL"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') deviceType] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"Unsigned"') updateInterval] + [simple ReadableProperty('"BACnetEngineeringUnits"') units] + [simple OptionalProperty('"REAL"') minPresValue] + [simple OptionalProperty('"REAL"') maxPresValue] + [simple OptionalProperty('"REAL"') resolution] + [simple OptionalProperty('"REAL"') cOVIncrement] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"REAL"') highLimit] + [simple OptionalProperty('"REAL"') lowLimit] + [simple OptionalProperty('"REAL"') deadband] + [simple OptionalProperty('"BACnetLimitEnable"') limitEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalREAL"') interfaceValue] + [simple OptionalProperty('"REAL"') faultHighLimit] + [simple OptionalProperty('"REAL"') faultLowLimit] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type AnalogOutput + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple WritableProperty('"REAL"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') deviceType] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetEngineeringUnits"') units] + [simple OptionalProperty('"REAL"') minPresValue] + [simple OptionalProperty('"REAL"') maxPresValue] + [simple OptionalProperty('"REAL"') resolution] + [simple ReadableProperty('"BACnetPriorityArray"') priorityArray] + [simple ReadableProperty('"REAL"') relinquishDefault] + [simple OptionalProperty('"REAL"') cOVIncrement] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"REAL"') highLimit] + [simple OptionalProperty('"REAL"') lowLimit] + [simple OptionalProperty('"REAL"') deadband] + [simple OptionalProperty('"BACnetLimitEnable"') limitEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalREAL"') interfaceValue] + [simple ReadableProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type AnalogValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"REAL"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetEngineeringUnits"') units] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"REAL"') relinquishDefault] + [simple OptionalProperty('"REAL"') cOVIncrement] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"REAL"') highLimit] + [simple OptionalProperty('"REAL"') lowLimit] + [simple OptionalProperty('"REAL"') deadband] + [simple OptionalProperty('"BACnetLimitEnable"') limitEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple OptionalProperty('"REAL"') minPresValue] + [simple OptionalProperty('"REAL"') maxPresValue] + [simple OptionalProperty('"REAL"') resolution] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"REAL"') faultHighLimit] + [simple OptionalProperty('"REAL"') faultLowLimit] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Averaging + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"REAL"') minimumValue] + [simple OptionalProperty('"BACnetDateTime"') minimumValueTimestamp] + [simple ReadableProperty('"REAL"') averageValue] + [simple OptionalProperty('"REAL"') varianceValue] + [simple ReadableProperty('"REAL"') maximumValue] + [simple OptionalProperty('"BACnetDateTime"') maximumValueTimestamp] + [simple OptionalProperty('"CharacterString"') description] + [simple WritableProperty('"Unsigned"') attemptedSamples] + [simple ReadableProperty('"Unsigned"') validSamples] + [simple ReadableProperty('"BACnetDeviceObjectPropertyReference"') objectPropertyReference] + [simple WritableProperty('"Unsigned"') windowInterval] + [simple WritableProperty('"Unsigned"') windowSamples] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type BinaryInput + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"BACnetBinaryPV"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') deviceType] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetPolarity"') polarity] + [simple OptionalProperty('"CharacterString"') inactiveText] + [simple OptionalProperty('"CharacterString"') activeText] + [simple OptionalProperty('"BACnetDateTime"') changeOfStateTime] + [simple OptionalProperty('"Unsigned"') changeOfStateCount] + [simple OptionalProperty('"BACnetDateTime"') timeOfStateCountReset] + [simple OptionalProperty('"Unsigned32"') elapsedActiveTime] + [simple OptionalProperty('"BACnetDateTime"') timeOfActiveTimeReset] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetBinaryPV"') alarmValue] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalBinaryPV"') interfaceValue] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type BinaryOutput + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple WritableProperty('"BACnetBinaryPV"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') deviceType] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetPolarity"') polarity] + [simple OptionalProperty('"CharacterString"') inactiveText] + [simple OptionalProperty('"CharacterString"') activeText] + [simple OptionalProperty('"BACnetDateTime"') changeOfStateTime] + [simple OptionalProperty('"Unsigned"') changeOfStateCount] + [simple OptionalProperty('"BACnetDateTime"') timeOfStateCountReset] + [simple OptionalProperty('"Unsigned32"') elapsedActiveTime] + [simple OptionalProperty('"BACnetDateTime"') timeOfActiveTimeReset] + [simple OptionalProperty('"Unsigned32"') minimumOffTime] + [simple OptionalProperty('"Unsigned32"') minimumOnTime] + [simple ReadableProperty('"BACnetPriorityArray"') priorityArray] + [simple ReadableProperty('"BACnetBinaryPV"') relinquishDefault] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetBinaryPV"') feedbackValue] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalBinaryPV"') interfaceValue] + [simple ReadableProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type BinaryValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"BACnetBinaryPV"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"CharacterString"') inactiveText] + [simple OptionalProperty('"CharacterString"') activeText] + [simple OptionalProperty('"BACnetDateTime"') changeOfStateTime] + [simple OptionalProperty('"Unsigned"') changeOfStateCount] + [simple OptionalProperty('"BACnetDateTime"') timeOfStateCountReset] + [simple OptionalProperty('"Unsigned32"') elapsedActiveTime] + [simple OptionalProperty('"BACnetDateTime"') timeOfActiveTimeReset] + [simple OptionalProperty('"Unsigned32"') minimumOffTime] + [simple OptionalProperty('"Unsigned32"') minimumOnTime] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"BACnetBinaryPV"') relinquishDefault] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetBinaryPV"') alarmValue] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Calendar + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BOOLEAN"') presentValue] + [simple ReadableProperty('"BACnetLIST of BACnetCalendarEntry"') dateList] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Command + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple WritableProperty('"Unsigned"') presentValue] + [simple ReadableProperty('"BOOLEAN"') inProcess] + [simple ReadableProperty('"BOOLEAN"') allWritesSuccessful] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetActionList"') action] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') actionText] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Device + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"BACnetDeviceStatus"') systemStatus] + [simple ReadableProperty('"CharacterString"') vendorName] + [simple ReadableProperty('"Unsigned16"') vendorIdentifier] + [simple ReadableProperty('"CharacterString"') modelName] + [simple ReadableProperty('"CharacterString"') firmwareRevision] + [simple ReadableProperty('"CharacterString"') applicationSoftwareVersion] + [simple OptionalProperty('"CharacterString"') location] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"Unsigned"') protocolVersion] + [simple ReadableProperty('"Unsigned"') protocolRevision] + [simple ReadableProperty('"BACnetServicesSupported"') protocolServicesSupported] + [simple ReadableProperty('"BACnetObjectTypesSupported"') protocolObjectTypesSupported] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetObjectIdentifier"') objectList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetObjectIdentifier"') structuredObjectList] + [simple ReadableProperty('"Unsigned"') maxAPDULengthAccepted] + [simple ReadableProperty('"BACnetSegmentation"') segmentationSupported] + [simple OptionalProperty('"Unsigned"') maxSegmentsAccepted] + [simple OptionalProperty('"BACnetLIST of BACnetVTClass"') vTClassesSupported] + [simple OptionalProperty('"BACnetLIST of BACnetVTSession"') activeVTSessions] + [simple OptionalProperty('"Time"') localTime] + [simple OptionalProperty('"Date"') localDate] + [simple OptionalProperty('"INTEGER"') uTCOffset] + [simple OptionalProperty('"BOOLEAN"') daylightSavingsStatus] + [simple OptionalProperty('"Unsigned"') aPDUSegmentTimeout] + [simple ReadableProperty('"Unsigned"') aPDUTimeout] + [simple ReadableProperty('"Unsigned"') numberOfAPDURetries] + [simple OptionalProperty('"BACnetLIST of BACnetRecipient"') timeSynchronizationRecipients] + [simple OptionalProperty('"Unsigned(0..127)"') maxMaster] + [simple OptionalProperty('"Unsigned"') maxInfoFrames] + [simple ReadableProperty('"BACnetLIST of BACnetAddressBinding"') deviceAddressBinding] + [simple ReadableProperty('"Unsigned"') databaseRevision] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetObjectIdentifier"') configurationFiles] + [simple OptionalProperty('"BACnetTimeStamp"') lastRestoreTime] + [simple OptionalProperty('"Unsigned16"') backupFailureTimeout] + [simple OptionalProperty('"Unsigned16"') backupPreparationTime] + [simple OptionalProperty('"Unsigned16"') restorePreparationTime] + [simple OptionalProperty('"Unsigned16"') restoreCompletionTime] + [simple OptionalProperty('"BACnetBackupState"') backupAndRestoreState] + [simple OptionalProperty('"BACnetLIST of BACnetCOVSubscription"') activeCOVSubscriptions] + [simple OptionalProperty('"BACnetRestartReason"') lastRestartReason] + [simple OptionalProperty('"BACnetTimeStamp"') timeOfDeviceRestart] + [simple OptionalProperty('"BACnetLIST of BACnetRecipient"') restartNotificationRecipients] + [simple OptionalProperty('"BACnetLIST of BACnetRecipient"') uTCTimeSynchronizationRecipients] + [simple OptionalProperty('"Unsigned"') timeSynchronizationInterval] + [simple OptionalProperty('"BOOLEAN"') alignIntervals] + [simple OptionalProperty('"Unsigned"') intervalOffset] + [simple OptionalProperty('"CharacterString"') serialNumber] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple OptionalProperty('"BACnetLIST of BACnetCOVMultipleSubscription"') activeCOVMultipleSubscriptions] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') deployedProfileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type EventEnrollment + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetEventType"') eventType] + [simple ReadableProperty('"BACnetNotifyType"') notifyType] + [simple ReadableProperty('"BACnetEventParameter"') eventParameters] + [simple ReadableProperty('"BACnetDeviceObjectPropertyReference"') objectPropertyReference] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple ReadableProperty('"BACnetEventTransitionBits"') eventEnable] + [simple ReadableProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple ReadableProperty('"Unsigned"') notificationClass] + [simple ReadableProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple ReadableProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple ReadableProperty('"Unsigned"') timeDelayNormal] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BACnetFaultType"') faultType] + [simple OptionalProperty('"BACnetFaultParameter"') faultParameters] + [simple ReadableProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type File + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"CharacterString"') fileType] + [simple ReadableProperty('"Unsigned"') fileSize] + [simple ReadableProperty('"BACnetDateTime"') modificationDate] + [simple WritableProperty('"BOOLEAN"') archive] + [simple ReadableProperty('"BOOLEAN"') readOnly] + [simple ReadableProperty('"BACnetFileAccessMethod"') fileAccessMethod] + [simple OptionalProperty('"Unsigned"') recordCount] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Group + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetLIST of ReadAccessSpecification"') listOfGroupMembers] + [simple ReadableProperty('"BACnetLIST of ReadAccessResult"') presentValue] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type LifeSafetyPoint + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"BACnetLifeSafetyState"') presentValue] + [simple ReadableProperty('"BACnetLifeSafetyState"') trackingValue] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') deviceType] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple WritableProperty('"BACnetLifeSafetyMode"') mode] + [simple ReadableProperty('"BACnetLIST of BACnetLifeSafetyMode"') acceptedModes] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetLIST of BACnetLifeSafetyState"') lifeSafetyAlarmValues] + [simple OptionalProperty('"BACnetLIST of BACnetLifeSafetyState"') alarmValues] + [simple OptionalProperty('"BACnetLIST of BACnetLifeSafetyState"') faultValues] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetSilencedState"') silenced] + [simple ReadableProperty('"BACnetLifeSafetyOperation"') operationExpected] + [simple OptionalProperty('"BACnetMaintenance"') maintenanceRequired] + [simple OptionalProperty('"Unsigned8"') setting] + [simple OptionalProperty('"REAL"') directReading] + [simple OptionalProperty('"BACnetEngineeringUnits"') units] + [simple OptionalProperty('"BACnetLIST of BACnetDeviceObjectReference"') memberOf] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type LifeSafetyZone + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"BACnetLifeSafetyState"') presentValue] + [simple ReadableProperty('"BACnetLifeSafetyState"') trackingValue] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') deviceType] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple WritableProperty('"BACnetLifeSafetyMode"') mode] + [simple ReadableProperty('"BACnetLIST of BACnetLifeSafetyMode"') acceptedModes] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetLIST of BACnetLifeSafetyState"') lifeSafetyAlarmValues] + [simple OptionalProperty('"BACnetLIST of BACnetLifeSafetyState"') alarmValues] + [simple OptionalProperty('"BACnetLIST of BACnetLifeSafetyState"') faultValues] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetSilencedState"') silenced] + [simple ReadableProperty('"BACnetLifeSafetyOperation"') operationExpected] + [simple OptionalProperty('"BOOLEAN"') maintenanceRequired] + [simple ReadableProperty('"BACnetLIST of BACnetDeviceObjectReference"') zoneMembers] + [simple OptionalProperty('"BACnetLIST of BACnetDeviceObjectReference"') memberOf] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Loop + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"REAL"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"Unsigned"') updateInterval] + [simple ReadableProperty('"BACnetEngineeringUnits"') outputUnits] + [simple ReadableProperty('"BACnetObjectPropertyReference"') manipulatedVariableReference] + [simple ReadableProperty('"BACnetObjectPropertyReference"') controlledVariableReference] + [simple ReadableProperty('"REAL"') controlledVariableValue] + [simple ReadableProperty('"BACnetEngineeringUnits"') controlledVariableUnits] + [simple ReadableProperty('"BACnetSetpointReference"') setpointReference] + [simple ReadableProperty('"REAL"') setpoint] + [simple ReadableProperty('"BACnetAction"') action] + [simple OptionalProperty('"REAL"') proportionalConstant] + [simple OptionalProperty('"BACnetEngineeringUnits"') proportionalConstantUnits] + [simple OptionalProperty('"REAL"') integralConstant] + [simple OptionalProperty('"BACnetEngineeringUnits"') integralConstantUnits] + [simple OptionalProperty('"REAL"') derivativeConstant] + [simple OptionalProperty('"BACnetEngineeringUnits"') derivativeConstantUnits] + [simple OptionalProperty('"REAL"') bias] + [simple OptionalProperty('"REAL"') maximumOutput] + [simple OptionalProperty('"REAL"') minimumOutput] + [simple ReadableProperty('"Unsigned(1..16)"') priorityForWriting] + [simple OptionalProperty('"REAL"') cOVIncrement] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"REAL"') errorLimit] + [simple OptionalProperty('"REAL"') deadband] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalREAL"') lowDiffLimit] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type MultistateInput + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"Unsigned"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') deviceType] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"Unsigned"') numberOfStates] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') stateText] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetLIST of Unsigned"') alarmValues] + [simple OptionalProperty('"BACnetLIST of Unsigned"') faultValues] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalUnsigned"') interfaceValue] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type MultistateOutput + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple WritableProperty('"Unsigned"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') deviceType] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"Unsigned"') numberOfStates] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') stateText] + [simple ReadableProperty('"BACnetPriorityArray"') priorityArray] + [simple ReadableProperty('"Unsigned"') relinquishDefault] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"Unsigned"') feedbackValue] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalUnsigned"') interfaceValue] + [simple ReadableProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type MultistateValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"Unsigned"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"Unsigned"') numberOfStates] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') stateText] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"Unsigned"') relinquishDefault] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetLIST of Unsigned"') alarmValues] + [simple OptionalProperty('"BACnetLIST of Unsigned"') faultValues] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type NotificationClass + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"Unsigned"') notificationClass] + [simple ReadableProperty('"BACnetARRAY[3] of Unsigned"') priority] + [simple ReadableProperty('"BACnetEventTransitionBits"') ackRequired] + [simple ReadableProperty('"BACnetLIST of BACnetDestination"') recipientList] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Program + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"BACnetProgramState"') programState] + [simple WritableProperty('"BACnetProgramRequest"') programChange] + [simple OptionalProperty('"BACnetProgramError"') reasonForHalt] + [simple OptionalProperty('"CharacterString"') descriptionOfHalt] + [simple OptionalProperty('"CharacterString"') programLocation] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') instanceOf] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type PulseConverter + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"REAL"') presentValue] + [simple OptionalProperty('"BACnetObjectPropertyReference"') inputReference] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetEngineeringUnits"') units] + [simple ReadableProperty('"REAL"') scaleFactor] + [simple WritableProperty('"REAL"') adjustValue] + [simple ReadableProperty('"Unsigned"') count] + [simple ReadableProperty('"BACnetDateTime"') updateTime] + [simple ReadableProperty('"BACnetDateTime"') countChangeTime] + [simple ReadableProperty('"Unsigned"') countBeforeChange] + [simple OptionalProperty('"REAL"') cOVIncrement] + [simple OptionalProperty('"Unsigned"') cOVPeriod] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"REAL"') highLimit] + [simple OptionalProperty('"REAL"') lowLimit] + [simple OptionalProperty('"REAL"') deadband] + [simple OptionalProperty('"BACnetLimitEnable"') limitEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Schedule + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"Any"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetDateRange"') effectivePeriod] + [simple OptionalProperty('"BACnetARRAY[7] of BACnetDailySchedule"') weeklySchedule] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetSpecialEvent"') exceptionSchedule] + [simple ReadableProperty('"Any"') scheduleDefault] + [simple ReadableProperty('"BACnetLIST of BACnetDeviceObjectPropertyReference"') listOfObjectPropertyReferences] + [simple ReadableProperty('"Unsigned(1..16)"') priorityForWriting] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type TrendLog + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple WritableProperty('"BOOLEAN"') enable] + [simple OptionalProperty('"BACnetDateTime"') startTime] + [simple OptionalProperty('"BACnetDateTime"') stopTime] + [simple OptionalProperty('"BACnetDeviceObjectPropertyReference"') logDeviceObjectProperty] + [simple OptionalProperty('"Unsigned"') logInterval] + [simple OptionalProperty('"Unsigned"') cOVResubscriptionInterval] + [simple OptionalProperty('"BACnetClientCOV"') clientCOVIncrement] + [simple ReadableProperty('"BOOLEAN"') stopWhenFull] + [simple ReadableProperty('"Unsigned32"') bufferSize] + [simple ReadableProperty('"BACnetLIST of BACnetLogRecord"') logBuffer] + [simple WritableProperty('"Unsigned32"') recordCount] + [simple ReadableProperty('"Unsigned32"') totalRecordCount] + [simple ReadableProperty('"BACnetLoggingType"') loggingType] + [simple OptionalProperty('"BOOLEAN"') alignIntervals] + [simple OptionalProperty('"Unsigned"') intervalOffset] + [simple OptionalProperty('"BOOLEAN"') trigger] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"Unsigned32"') notificationThreshold] + [simple OptionalProperty('"Unsigned32"') recordsSinceNotification] + [simple OptionalProperty('"Unsigned32"') lastNotifyRecord] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type AccessDoor + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple WritableProperty('"BACnetDoorValue"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetPriorityArray"') priorityArray] + [simple ReadableProperty('"BACnetDoorValue"') relinquishDefault] + [simple OptionalProperty('"BACnetDoorStatus"') doorStatus] + [simple OptionalProperty('"BACnetLockStatus"') lockStatus] + [simple OptionalProperty('"BACnetDoorSecuredStatus"') securedStatus] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetDeviceObjectReference"') doorMembers] + [simple ReadableProperty('"Unsigned"') doorPulseTime] + [simple ReadableProperty('"Unsigned"') doorExtendedPulseTime] + [simple OptionalProperty('"Unsigned"') doorUnlockDelayTime] + [simple ReadableProperty('"Unsigned"') doorOpenTooLongTime] + [simple OptionalProperty('"BACnetDoorAlarmState"') doorAlarmState] + [simple OptionalProperty('"BACnetLIST of BACnetDoorAlarmState"') maskedAlarmValues] + [simple OptionalProperty('"BACnetMaintenance"') maintenanceRequired] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetLIST of BACnetDoorAlarmState"') alarmValues] + [simple OptionalProperty('"BACnetLIST of BACnetDoorAlarmState"') faultValues] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple ReadableProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type EventLog + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple WritableProperty('"BOOLEAN"') enable] + [simple OptionalProperty('"BACnetDateTime"') startTime] + [simple OptionalProperty('"BACnetDateTime"') stopTime] + [simple ReadableProperty('"BOOLEAN"') stopWhenFull] + [simple ReadableProperty('"Unsigned32"') bufferSize] + [simple ReadableProperty('"BACnetLIST of BACnetEventLogRecord"') logBuffer] + [simple WritableProperty('"Unsigned32"') recordCount] + [simple ReadableProperty('"Unsigned32"') totalRecordCount] + [simple OptionalProperty('"Unsigned32"') notificationThreshold] + [simple OptionalProperty('"Unsigned32"') recordsSinceNotification] + [simple OptionalProperty('"Unsigned32"') lastNotifyRecord] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type LoadControl + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetShedState"') presentValue] + [simple OptionalProperty('"CharacterString"') stateDescription] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple WritableProperty('"BACnetShedLevel"') requestedShedLevel] + [simple WritableProperty('"BACnetDateTime"') startTime] + [simple WritableProperty('"Unsigned"') shedDuration] + [simple WritableProperty('"Unsigned"') dutyWindow] + [simple WritableProperty('"BOOLEAN"') enable] + [simple OptionalProperty('"REAL"') fullDutyBaseline] + [simple ReadableProperty('"BACnetShedLevel"') expectedShedLevel] + [simple ReadableProperty('"BACnetShedLevel"') actualShedLevel] + [simple WritableProperty('"BACnetARRAY[N] of Unsigned"') shedLevels] + [simple ReadableProperty('"BACnetARRAY[N] of CharacterString"') shedLevelDescriptions] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type StructuredView + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetNodeType"') nodeType] + [simple OptionalProperty('"CharacterString"') nodeSubtype] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetDeviceObjectReference"') subordinateList] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') subordinateAnnotations] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValueCollection"') subordinateTags] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNodeType"') subordinateNodeTypes] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetRelationship"') subordinateRelationships] + [simple OptionalProperty('"BACnetRelationship"') defaultSubordinateRelationship] + [simple OptionalProperty('"BACnetDeviceObjectReference"') represents] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type TrendLogMultiple + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple WritableProperty('"BOOLEAN"') enable] + [simple OptionalProperty('"BACnetDateTime"') startTime] + [simple OptionalProperty('"BACnetDateTime"') stopTime] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetDeviceObjectPropertyReference"') logDeviceObjectProperty] + [simple ReadableProperty('"BACnetLoggingType"') loggingType] + [simple ReadableProperty('"Unsigned"') logInterval] + [simple OptionalProperty('"BOOLEAN"') alignIntervals] + [simple OptionalProperty('"Unsigned"') intervalOffset] + [simple OptionalProperty('"BOOLEAN"') trigger] + [simple ReadableProperty('"BOOLEAN"') stopWhenFull] + [simple ReadableProperty('"Unsigned32"') bufferSize] + [simple ReadableProperty('"BACnetLIST of BACnetLogMultipleRecord"') logBuffer] + [simple WritableProperty('"Unsigned32"') recordCount] + [simple ReadableProperty('"Unsigned32"') totalRecordCount] + [simple OptionalProperty('"Unsigned32"') notificationThreshold] + [simple OptionalProperty('"Unsigned32"') recordsSinceNotification] + [simple OptionalProperty('"Unsigned32"') lastNotifyRecord] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type AccessPoint + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetAuthenticationStatus"') authenticationStatus] + [simple ReadableProperty('"Unsigned"') activeAuthenticationPolicy] + [simple ReadableProperty('"Unsigned"') numberOfAuthenticationPolicies] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetAuthenticationPolicy"') authenticationPolicyList] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') authenticationPolicyNames] + [simple ReadableProperty('"BACnetAuthorizationMode"') authorizationMode] + [simple OptionalProperty('"Unsigned"') verificationTime] + [simple OptionalProperty('"BOOLEAN"') lockout] + [simple OptionalProperty('"Unsigned"') lockoutRelinquishTime] + [simple OptionalProperty('"Unsigned"') failedAttempts] + [simple OptionalProperty('"BACnetLIST of BACnetAccessEvent"') failedAttemptEvents] + [simple OptionalProperty('"Unsigned"') maxFailedAttempts] + [simple OptionalProperty('"Unsigned"') failedAttemptsTime] + [simple OptionalProperty('"BACnetAccessThreatLevel"') threatLevel] + [simple OptionalProperty('"BOOLEAN"') occupancyUpperLimitEnforced] + [simple OptionalProperty('"BOOLEAN"') occupancyLowerLimitEnforced] + [simple OptionalProperty('"BOOLEAN"') occupancyCountAdjust] + [simple OptionalProperty('"Unsigned"') accompanimentTime] + [simple ReadableProperty('"BACnetAccessEvent"') accessEvent] + [simple ReadableProperty('"Unsigned"') accessEventTag] + [simple ReadableProperty('"BACnetTimeStamp"') accessEventTime] + [simple ReadableProperty('"BACnetDeviceObjectReference"') accessEventCredential] + [simple OptionalProperty('"BACnetAuthenticationFactor"') accessEventAuthenticationFactor] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetDeviceObjectReference"') accessDoors] + [simple ReadableProperty('"Unsigned(1..16)"') priorityForWriting] + [simple OptionalProperty('"BOOLEAN"') musterPoint] + [simple OptionalProperty('"BACnetDeviceObjectReference"') zoneTo] + [simple OptionalProperty('"BACnetDeviceObjectReference"') zoneFrom] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"Unsigned"') transactionNotificationClass] + [simple OptionalProperty('"BACnetLIST of BACnetAccessEvent"') accessAlarmEvents] + [simple OptionalProperty('"BACnetLIST of BACnetAccessEvent"') accessTransactionEvents] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type AccessZone + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple WritableProperty('"Unsigned32"') globalIdentifier] + [simple ReadableProperty('"BACnetAccessZoneOccupancyState"') occupancyState] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"Unsigned"') occupancyCount] + [simple OptionalProperty('"BOOLEAN"') occupancyCountEnable] + [simple OptionalProperty('"INTEGER"') adjustValue] + [simple OptionalProperty('"Unsigned"') occupancyUpperLimit] + [simple OptionalProperty('"Unsigned"') occupancyLowerLimit] + [simple OptionalProperty('"BACnetLIST of BACnetDeviceObjectReference"') credentialsInZone] + [simple OptionalProperty('"BACnetDeviceObjectReference"') lastCredentialAdded] + [simple OptionalProperty('"BACnetDateTime"') lastCredentialAddedTime] + [simple OptionalProperty('"BACnetDeviceObjectReference"') lastCredentialRemoved] + [simple OptionalProperty('"BACnetDateTime"') lastCredentialRemovedTime] + [simple OptionalProperty('"BACnetAccessPassbackMode"') passbackMode] + [simple OptionalProperty('"Unsigned"') passbackTimeout] + [simple ReadableProperty('"BACnetLIST of BACnetDeviceObjectReference"') entryPoints] + [simple ReadableProperty('"BACnetLIST of BACnetDeviceObjectReference"') exitPoints] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetLIST of BACnetAccessZoneOccupancyState"') alarmValues] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type AccessUser + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple WritableProperty('"Unsigned32"') globalIdentifier] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BACnetAccessUserType"') userType] + [simple OptionalProperty('"CharacterString"') userName] + [simple OptionalProperty('"CharacterString"') userExternalIdentifier] + [simple OptionalProperty('"CharacterString"') userInformationReference] + [simple OptionalProperty('"BACnetLIST of BACnetDeviceObjectReference"') members] + [simple OptionalProperty('"BACnetLIST of BACnetDeviceObjectReference"') memberOf] + [simple ReadableProperty('"BACnetLIST of BACnetDeviceObjectReference"') credentials] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type AccessRights + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple WritableProperty('"Unsigned32"') globalIdentifier] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') enable] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetAccessRule"') negativeAccessRules] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetAccessRule"') positiveAccessRules] + [simple OptionalProperty('"BACnetDeviceObjectReference"') accompaniment] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type AccessCredential + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple WritableProperty('"Unsigned32"') globalIdentifier] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BACnetBinaryPV"') credentialStatus] + [simple ReadableProperty('"BACnetLIST of BACnetAccessCredentialDisableReason"') reasonForDisable] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetCredentialAuthenticationFactor"') authenticationFactors] + [simple ReadableProperty('"BACnetDateTime"') activationTime] + [simple ReadableProperty('"BACnetDateTime"') expirationTime] + [simple ReadableProperty('"BACnetAccessCredentialDisable"') credentialDisable] + [simple OptionalProperty('"INTEGER"') daysRemaining] + [simple OptionalProperty('"INTEGER"') usesRemaining] + [simple OptionalProperty('"Unsigned"') absenteeLimit] + [simple OptionalProperty('"BACnetDeviceObjectReference"') belongsTo] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetAssignedAccessRights"') assignedAccessRights] + [simple OptionalProperty('"BACnetDeviceObjectReference"') lastAccessPoint] + [simple OptionalProperty('"BACnetAccessEvent"') lastAccessEvent] + [simple OptionalProperty('"BACnetDateTime"') lastUseTime] + [simple OptionalProperty('"BOOLEAN"') traceFlag] + [simple OptionalProperty('"BACnetAccessThreatLevel"') threatAuthority] + [simple OptionalProperty('"BOOLEAN"') extendedTimeEnable] + [simple OptionalProperty('"BACnetLIST of BACnetAuthorizationExemption"') authorizationExemptions] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type CredentialDataInput + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"BACnetAuthenticationFactor"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetAuthenticationFactorFormat"') supportedFormats] + [simple OptionalProperty('"BACnetARRAY[N] of Unsigned"') supportedFormatClasses] + [simple ReadableProperty('"BACnetTimeStamp"') updateTime] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type CharacterStringValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"CharacterString"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"CharacterString"') relinquishDefault] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetOptionalCharacterString"') alarmValues] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetOptionalCharacterString"') faultValues] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type DateTimeValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetDateTime"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"BACnetDateTime"') relinquishDefault] + [simple OptionalProperty('"BOOLEAN"') isUTC] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type LargeAnalogValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"Double"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetEngineeringUnits"') units] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"Double"') relinquishDefault] + [simple OptionalProperty('"Double"') cOVIncrement] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"Double"') highLimit] + [simple OptionalProperty('"Double"') lowLimit] + [simple OptionalProperty('"Double"') deadband] + [simple OptionalProperty('"BACnetLimitEnable"') limitEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple OptionalProperty('"Double"') minPresValue] + [simple OptionalProperty('"Double"') maxPresValue] + [simple OptionalProperty('"Double"') resolution] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"Double"') faultHighLimit] + [simple OptionalProperty('"Double"') faultLowLimit] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type BitStringValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BIT STRING"') presentValue] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') bitText] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"BIT STRING"') relinquishDefault] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetARRAY[N] of BIT STRING"') alarmValues] + [simple OptionalProperty('"BIT STRING"') bitMask] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type OctetStringValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"OCTET STRING"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"OCTET STRING"') relinquishDefault] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type TimeValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"Time"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"Time"') relinquishDefault] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type IntegerValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"INTEGER"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetEngineeringUnits"') units] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"INTEGER"') relinquishDefault] + [simple OptionalProperty('"Unsigned"') cOVIncrement] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"INTEGER"') highLimit] + [simple OptionalProperty('"INTEGER"') lowLimit] + [simple OptionalProperty('"Unsigned"') deadband] + [simple OptionalProperty('"BACnetLimitEnable"') limitEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple OptionalProperty('"INTEGER"') minPresValue] + [simple OptionalProperty('"INTEGER"') maxPresValue] + [simple OptionalProperty('"INTEGER"') resolution] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"INTEGER"') faultHighLimit] + [simple OptionalProperty('"INTEGER"') faultLowLimit] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type PositiveIntegerValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"Unsigned"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetEngineeringUnits"') units] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"Unsigned"') relinquishDefault] + [simple OptionalProperty('"Unsigned"') cOVIncrement] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"Unsigned"') highLimit] + [simple OptionalProperty('"Unsigned"') lowLimit] + [simple OptionalProperty('"Unsigned"') deadband] + [simple OptionalProperty('"BACnetLimitEnable"') limitEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple OptionalProperty('"Unsigned"') minPresValue] + [simple OptionalProperty('"Unsigned"') maxPresValue] + [simple OptionalProperty('"Unsigned"') resolution] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"Unsigned"') faultHighLimit] + [simple OptionalProperty('"Unsigned"') faultLowLimit] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type DateValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"Date"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"Date"') relinquishDefault] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type DateTimePatternValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetDateTime"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BOOLEAN"') isUTC] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"BACnetDateTime"') relinquishDefault] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type TimePatternValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"Time"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"Time"') relinquishDefault] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type DatePatternValue + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"Date"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetPriorityArray"') priorityArray] + [simple OptionalProperty('"Date"') relinquishDefault] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type NetworkSecurity + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple WritableProperty('"BACnetSecurityLevel"') baseDeviceSecurityPolicy] + [simple WritableProperty('"BACnetARRAY[N] of BACnetNetworkSecurityPolicy"') networkAccessSecurityPolicies] + [simple WritableProperty('"Unsigned"') securityTimeWindow] + [simple WritableProperty('"Unsigned"') packetReorderTime] + [simple ReadableProperty('"Unsigned8"') distributionKeyRevision] + [simple ReadableProperty('"BACnetARRAY[2] of BACnetSecurityKeySet"') keySets] + [simple WritableProperty('"BACnetAddressBinding"') lastKeyServer] + [simple WritableProperty('"Unsigned16"') securityPDUTimeout] + [simple ReadableProperty('"Unsigned16"') updateKeySetTimeout] + [simple ReadableProperty('"BACnetLIST of Unsigned8"') supportedSecurityAlgorithms] + [simple WritableProperty('"BOOLEAN"') doNotHide] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type GlobalGroup + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetDeviceObjectPropertyReference"') groupMembers] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') groupMemberNames] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyAccessResult"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple ReadableProperty('"BACnetStatusFlags"') memberStatusFlags] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outofService] + [simple OptionalProperty('"Unsigned"') updateInterval] + [simple OptionalProperty('"Unsigned"') requestedUpdateInterval] + [simple OptionalProperty('"Unsigned"') cOVResubscriptionInterval] + [simple OptionalProperty('"BACnetClientCOV"') clientCOVIncrement] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"Unsigned"') cOVUPeriod] + [simple OptionalProperty('"BACnetLIST of BACnetRecipient"') cOVURecipients] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type NotificationForwarder + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetLIST of BACnetDestination"') recipientList] + [simple WritableProperty('"BACnetLIST of BACnetEventNotificationSubscription"') subscribedRecipients] + [simple ReadableProperty('"BACnetProcessIdSelection"') processIdentifierFilter] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetPortPermission"') portFilter] + [simple ReadableProperty('"BOOLEAN"') localForwardingOnly] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type AlertEnrollment + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetObjectIdentifier"') presentValue] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple ReadableProperty('"BOOLEAN"') eventDetectionEnable] + [simple ReadableProperty('"Unsigned"') notificationClass] + [simple ReadableProperty('"BACnetEventTransitionBits"') eventEnable] + [simple ReadableProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple ReadableProperty('"BACnetNotifyType"') notifyType] + [simple ReadableProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Channel + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple WritableProperty('"BACnetChannelValue"') presentValue] + [simple ReadableProperty('"Unsigned"') lastPriority] + [simple ReadableProperty('"BACnetWriteStatus"') writeStatus] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple WritableProperty('"BACnetARRAY[N] of BACnetDeviceObjectPropertyReference"') listOfObjectPropertyReferences] + [simple OptionalProperty('"BACnetARRAY[N] of Unsigned"') executionDelay] + [simple OptionalProperty('"BOOLEAN"') allowGroupDelayInhibit] + [simple WritableProperty('"Unsigned16"') channelNumber] + [simple WritableProperty('"BACnetARRAY[N] of Unsigned32"') controlGroups] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type LightingOutput + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple WritableProperty('"REAL"') presentValue] + [simple ReadableProperty('"REAL"') trackingValue] + [simple WritableProperty('"BACnetLightingCommand"') lightingCommand] + [simple ReadableProperty('"BACnetLightingInProgress"') inProgress] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BOOLEAN"') blinkWarnEnable] + [simple ReadableProperty('"Unsigned"') egressTime] + [simple ReadableProperty('"BOOLEAN"') egressActive] + [simple ReadableProperty('"Unsigned"') defaultFadeTime] + [simple ReadableProperty('"REAL"') defaultRampRate] + [simple ReadableProperty('"REAL"') defaultStepIncrement] + [simple OptionalProperty('"BACnetLightingTransition"') transition] + [simple OptionalProperty('"REAL"') feedbackValue] + [simple ReadableProperty('"BACnetPriorityArray"') priorityArray] + [simple ReadableProperty('"REAL"') relinquishDefault] + [simple OptionalProperty('"REAL"') power] + [simple OptionalProperty('"REAL"') instantaneousPower] + [simple OptionalProperty('"REAL"') minActualValue] + [simple OptionalProperty('"REAL"') maxActualValue] + [simple ReadableProperty('"Unsigned"') lightingCommandDefaultPriority] + [simple OptionalProperty('"REAL"') cOVIncrement] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple ReadableProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type BinaryLightingOutput + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple WritableProperty('"BACnetBinaryLightingPV"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BOOLEAN"') blinkWarnEnable] + [simple ReadableProperty('"Unsigned"') egressTime] + [simple ReadableProperty('"BOOLEAN"') egressActive] + [simple OptionalProperty('"BACnetBinaryLightingPV"') feedbackValue] + [simple ReadableProperty('"BACnetPriorityArray"') priorityArray] + [simple ReadableProperty('"BACnetBinaryLightingPV"') relinquishDefault] + [simple OptionalProperty('"REAL"') power] + [simple OptionalProperty('"BACnetPolarity"') polarity] + [simple OptionalProperty('"Unsigned32"') elapsedActiveTime] + [simple OptionalProperty('"BACnetDateTime"') timeOfActiveTimeReset] + [simple OptionalProperty('"Unsigned"') strikeCount] + [simple OptionalProperty('"BACnetDateTime"') timeOfStrikeCountReset] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple ReadableProperty('"BACnetOptionalUnsigned"') currentCommandPriority] + [simple OptionalProperty('"BACnetValueSource"') valueSource] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetValueSource"') valueSourceArray] + [simple OptionalProperty('"BACnetTimeStamp"') lastCommandTime] + [simple OptionalProperty('"BACnetARRAY[16] of BACnetTimeStamp"') commandTimeArray] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type NetworkPort + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetNetworkType"') networkType] + [simple ReadableProperty('"BACnetProtocolLevel"') protocolLevel] + [simple OptionalProperty('"Unsigned"') referencePort] + [simple ReadableProperty('"Unsigned16"') networkNumber] + [simple ReadableProperty('"BACnetNetworkNumberQuality"') networkNumberQuality] + [simple ReadableProperty('"BOOLEAN"') changesPending] + [simple OptionalProperty('"BACnetNetworkPortCommand"') command] + [simple OptionalProperty('"OCTET STRING"') mACAddress] + [simple ReadableProperty('"Unsigned"') aPDULength] + [simple ReadableProperty('"REAL"') linkSpeed] + [simple OptionalProperty('"BACnetARRAY[N] of REAL"') linkSpeeds] + [simple OptionalProperty('"BOOLEAN"') linkSpeedAutonegotiate] + [simple OptionalProperty('"CharacterString"') networkInterfaceName] + [simple OptionalProperty('"BACnetIPMode"') bACnetIPMode] + [simple OptionalProperty('"OCTET STRING"') iPAddress] + [simple OptionalProperty('"Unsigned16"') bACnetIPUDPPort] + [simple OptionalProperty('"OCTET STRING"') iPSubnetMask] + [simple OptionalProperty('"OCTET STRING"') iPDefaultGateway] + [simple OptionalProperty('"OCTET STRING"') bACnetIPMulticastAddress] + [simple OptionalProperty('"BACnetARRAY[N] of OCTET STRING"') iPDNSServer] + [simple OptionalProperty('"BOOLEAN"') iPDHCPEnable] + [simple OptionalProperty('"Unsigned"') iPDHCPLeaseTime] + [simple OptionalProperty('"Unsigned"') iPDHCPLeaseTimeRemaining] + [simple OptionalProperty('"OCTET STRING"') iPDHCPServer] + [simple OptionalProperty('"BOOLEAN"') bACnetIPNATTraversal] + [simple OptionalProperty('"BACnetHostNPort"') bACnetIPGlobalAddress] + [simple OptionalProperty('"BACnetLIST of BACnetBDTEntry"') bBMDBroadcastDistributionTable] + [simple OptionalProperty('"BOOLEAN"') bBMDAcceptFDRegistrations] + [simple OptionalProperty('"BACnetLIST of BACnetFDTEntry"') bBMDForeignDeviceTable] + [simple OptionalProperty('"BACnetHostNPort"') fDBBMDAddress] + [simple OptionalProperty('"Unsigned16"') fDSubscriptionLifetime] + [simple OptionalProperty('"BACnetIPMode"') bACnetIPv6Mode] + [simple OptionalProperty('"OCTET STRING"') iPv6Address] + [simple OptionalProperty('"Unsigned8"') iPv6PrefixLength] + [simple OptionalProperty('"Unsigned16"') bACnetIPv6UDPPort] + [simple OptionalProperty('"OCTET STRING"') iPv6DefaultGateway] + [simple OptionalProperty('"OCTET STRING"') bACnetIPv6MulticastAddress] + [simple OptionalProperty('"BACnetARRAY[N] of OCTET STRING"') iPv6DNSServer] + [simple OptionalProperty('"BOOLEAN"') iPv6AutoAddressingEnable] + [simple OptionalProperty('"Unsigned"') iPv6DHCPLeaseTime] + [simple OptionalProperty('"Unsigned"') iPv6DHCPLeaseTimeRemaining] + [simple OptionalProperty('"OCTET STRING"') iPv6DHCPServer] + [simple OptionalProperty('"CharacterString"') iPv6ZoneIndex] + [simple OptionalProperty('"Unsigned8(0..127)"') maxMaster] + [simple OptionalProperty('"Unsigned8"') maxInfoFrames] + [simple OptionalProperty('"BOOLEAN"') slaveProxyEnable] + [simple OptionalProperty('"BACnetLIST of BACnetAddressBinding"') manualSlaveAddressBinding] + [simple OptionalProperty('"BOOLEAN"') autoSlaveDiscovery] + [simple OptionalProperty('"BACnetLIST of BACnetAddressBinding"') slaveAddressBinding] + [simple OptionalProperty('"BACnetLIST of BACnetVMACEntry"') virtualMACAddressTable] + [simple OptionalProperty('"BACnetLIST of BACnetRouterEntry"') routingTable] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Timer + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"Unsigned"') presentValue] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple OptionalProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetTimerState"') timerState] + [simple ReadableProperty('"BOOLEAN"') timerRunning] + [simple OptionalProperty('"BACnetDateTime"') updateTime] + [simple OptionalProperty('"BACnetTimerTransition"') lastStateChange] + [simple OptionalProperty('"BACnetDateTime"') expirationTime] + [simple OptionalProperty('"Unsigned"') initialTimeout] + [simple OptionalProperty('"Unsigned"') defaultTimeout] + [simple OptionalProperty('"Unsigned"') minPresValue] + [simple OptionalProperty('"Unsigned"') maxPresValue] + [simple OptionalProperty('"Unsigned"') resolution] + [simple OptionalProperty('"BACnetARRAY[7] of BACnetTimerStateChangeValue"') stateChangeValues] + [simple OptionalProperty('"BACnetLIST of BACnetDeviceObjectPropertyReference"') listOfObjectPropertyReferences] + [simple OptionalProperty('"Unsigned(1..16)"') priorityForWriting] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BACnetLIST of BACnetTimerState"') alarmValues] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type ElevatorGroup + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetObjectIdentifier"') machineRoomID] + [simple ReadableProperty('"Unsigned8"') groupID] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetObjectIdentifier"') groupMembers] + [simple OptionalProperty('"BACnetLiftGroupMode"') groupMode] + [simple OptionalProperty('"BACnetLIST of BACnetLandingCallStatus"') landingCalls] + [simple OptionalProperty('"BACnetLandingCallStatus"') landingCallControl] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Lift + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetObjectIdentifier"') elevatorGroup] + [simple ReadableProperty('"Unsigned8"') groupID] + [simple ReadableProperty('"Unsigned8"') installationID] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') floorText] + [simple OptionalProperty('"BACnetARRAY[N] of CharacterString"') carDoorText] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetAssignedLandingCalls"') assignedLandingCalls] + [simple OptionalProperty('"BACnetARRAY[N] of Unsigned8"') makingCarCall] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetLiftCarCallList"') registeredCarCall] + [simple ReadableProperty('"Unsigned8"') carPosition] + [simple ReadableProperty('"BACnetLiftCarDirection"') carMovingDirection] + [simple OptionalProperty('"BACnetLiftCarDirection"') carAssignedDirection] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetDoorStatus"') carDoorStatus] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetLiftCarDoorCommand"') carDoorCommand] + [simple OptionalProperty('"BOOLEAN"') carDoorZone] + [simple OptionalProperty('"BACnetLiftCarMode"') carMode] + [simple OptionalProperty('"REAL"') carLoad] + [simple OptionalProperty('"BACnetEngineeringUnits"') carLoadUnits] + [simple OptionalProperty('"Unsigned8"') nextStoppingFloor] + [simple ReadableProperty('"BOOLEAN"') passengerAlarm] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"REAL"') energyMeter] + [simple OptionalProperty('"BACnetDeviceObjectReference"') energyMeterRef] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetLiftCarDriveStatus"') carDriveStatus] + [simple ReadableProperty('"BACnetLIST of BACnetLiftFault"') faultSignals] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetLandingDoorStatus"') landingDoorStatus] + [simple OptionalProperty('"BACnetObjectIdentifier"') higherDeck] + [simple OptionalProperty('"BACnetObjectIdentifier"') lowerDeck] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Escalator + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple OptionalProperty('"CharacterString"') description] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetObjectIdentifier"') elevatorGroup] + [simple ReadableProperty('"Unsigned8"') groupID] + [simple ReadableProperty('"Unsigned8"') installationID] + [simple OptionalProperty('"BOOLEAN"') powerMode] + [simple ReadableProperty('"BACnetEscalatorOperationDirection"') operationDirection] + [simple OptionalProperty('"BACnetEscalatorMode"') escalatorMode] + [simple OptionalProperty('"REAL"') energyMeter] + [simple OptionalProperty('"BACnetDeviceObjectReference"') energyMeterRef] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple OptionalProperty('"BACnetLIST of BACnetEscalatorFault"') faultSignals] + [simple ReadableProperty('"BOOLEAN"') passengerAlarm] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + +[type Accumulator + [simple ReadableProperty('"BACnetObjectIdentifier"') objectIdentifier] + [simple ReadableProperty('"CharacterString"') objectName] + [simple ReadableProperty('"BACnetObjectType"') objectType] + [simple ReadableProperty('"Unsigned"') presentValue] + [simple OptionalProperty('"CharacterString"') description] + [simple OptionalProperty('"CharacterString"') deviceType] + [simple ReadableProperty('"BACnetStatusFlags"') statusFlags] + [simple ReadableProperty('"BACnetEventState"') eventState] + [simple OptionalProperty('"BACnetReliability"') reliability] + [simple ReadableProperty('"BOOLEAN"') outOfService] + [simple ReadableProperty('"BACnetScale"') scale] + [simple ReadableProperty('"BACnetEngineeringUnits"') units] + [simple OptionalProperty('"BACnetPrescale"') prescale] + [simple ReadableProperty('"Unsigned"') maxPresValue] + [simple OptionalProperty('"BACnetDateTime"') valueChangeTime] + [simple OptionalProperty('"Unsigned"') valueBeforeChange] + [simple OptionalProperty('"Unsigned"') valueSet] + [simple OptionalProperty('"BACnetAccumulatorRecord"') loggingRecord] + [simple OptionalProperty('"BACnetObjectIdentifier"') loggingObject] + [simple OptionalProperty('"Unsigned"') pulseRate] + [simple OptionalProperty('"Unsigned"') highLimit] + [simple OptionalProperty('"Unsigned"') lowLimit] + [simple OptionalProperty('"Unsigned"') limitMonitoringInterval] + [simple OptionalProperty('"Unsigned"') notificationClass] + [simple OptionalProperty('"Unsigned"') timeDelay] + [simple OptionalProperty('"BACnetLimitEnable"') limitEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') eventEnable] + [simple OptionalProperty('"BACnetEventTransitionBits"') ackedTransitions] + [simple OptionalProperty('"BACnetNotifyType"') notifyType] + [simple OptionalProperty('"BACnetARRAY[3] of BACnetTimeStamp"') eventTimeStamps] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTexts] + [simple OptionalProperty('"BACnetARRAY[3] of CharacterString"') eventMessageTextsConfig] + [simple OptionalProperty('"BOOLEAN"') eventDetectionEnable] + [simple OptionalProperty('"BACnetObjectPropertyReference"') eventAlgorithmInhibitRef] + [simple OptionalProperty('"BOOLEAN"') eventAlgorithmInhibit] + [simple OptionalProperty('"Unsigned"') timeDelayNormal] + [simple OptionalProperty('"BOOLEAN"') reliabilityEvaluationInhibit] + [simple ReadableProperty('"BACnetARRAY[N] of BACnetPropertyIdentifier"') propertyList] + [simple OptionalProperty('"Unsigned"') faultHighLimit] + [simple OptionalProperty('"Unsigned"') faultLowLimit] + [simple OptionalProperty('"BACnetARRAY[N] of BACnetNameValue"') tags] + [simple OptionalProperty('"CharacterString"') profileLocation] + [simple OptionalProperty('"CharacterString"') profileName] + +] + diff --git a/protocols/bacnetip/src/test/java/org/apache/plc4x/protocol/bacnetip/BACnetObjectsDefinitions.java b/protocols/bacnetip/src/main/java/org/apache/plc4x/protocol/bacnetip/BACnetObjectsDefinitions.java similarity index 99% rename from protocols/bacnetip/src/test/java/org/apache/plc4x/protocol/bacnetip/BACnetObjectsDefinitions.java rename to protocols/bacnetip/src/main/java/org/apache/plc4x/protocol/bacnetip/BACnetObjectsDefinitions.java index b0f766d61a8..af78f93befd 100644 --- a/protocols/bacnetip/src/test/java/org/apache/plc4x/protocol/bacnetip/BACnetObjectsDefinitions.java +++ b/protocols/bacnetip/src/main/java/org/apache/plc4x/protocol/bacnetip/BACnetObjectsDefinitions.java @@ -21,7 +21,6 @@ import java.util.*; import java.util.stream.Collectors; -import static org.apache.plc4x.protocol.bacnetip.BACnetObjectsDefinitions.ConformanceCode.Type.O; import static org.apache.plc4x.protocol.bacnetip.BACnetObjectsDefinitions.ConformanceCode.Type.*; public class BACnetObjectsDefinitions { @@ -59,6 +58,8 @@ public class BACnetObjectsDefinitions { static Map propertyTypeCombinationCount; + static Set propertyDataTypes; + static { createBacnetObjectsList(); createObjectNameToBacNetObjectMap(); @@ -67,6 +68,7 @@ public class BACnetObjectsDefinitions { createPropertyTypeCombinationCount(); createPropertyIdToPropertyNameMap(); createPropertyToPropertyTypesMaps(); + createPropertyDataTypes(); } private static void createBacnetObjectsList() { @@ -2425,7 +2427,6 @@ private static BacNetObject createAnalogOutput() { private static BacNetObject createAnalogInput() { return b("Analog Input", - p("Object_Identifier", "BACnetObjectIdentifier", c(R)), p("Object_Identifier", "BACnetObjectIdentifier", c(R)), p("Object_Name", "CharacterString", c(R)), p("Object_Type", "BACnetObjectType", c(R)), @@ -2545,6 +2546,13 @@ static void createPropertyToPropertyTypesMaps() { }); } + static void createPropertyDataTypes() { + propertyDataTypes = new HashSet<>(); + propertyTypeCombinationToObjectNameMap.keySet().forEach(propertyTypeCombination -> { + propertyDataTypes.add(propertyTypeCombination.propertyDataType); + }); + } + static String mapPropertyNameToEnumName(String propertyName) { String upperCase = propertyName.toUpperCase(); String minusReplaced = upperCase.replaceAll("-", "_"); @@ -2597,7 +2605,7 @@ static class ConformanceCode { final Type type; final List additionalFootnotes; - public ConformanceCode(Type type, List additionalFootnotes) { + ConformanceCode(Type type, List additionalFootnotes) { this.type = type; this.additionalFootnotes = additionalFootnotes; } diff --git a/protocols/bacnetip/src/main/java/org/apache/plc4x/protocol/bacnetip/BacNetIpProtocol.java b/protocols/bacnetip/src/main/java/org/apache/plc4x/protocol/bacnetip/BacNetIpProtocol.java index deeab1e2bab..fbd6e58ecc0 100644 --- a/protocols/bacnetip/src/main/java/org/apache/plc4x/protocol/bacnetip/BacNetIpProtocol.java +++ b/protocols/bacnetip/src/main/java/org/apache/plc4x/protocol/bacnetip/BacNetIpProtocol.java @@ -67,6 +67,12 @@ public TypeContext getTypeContext() throws GenerationException { LOGGER.info("Parsing: bacnet-enums-tagged.mspec"); typeContext = new MessageFormatParser().parse(getMspecStream("bacnet-bit-strings-tagged"), typeContext); + LOGGER.info("Parsing: bacnet-properties.mspec"); + typeContext = new MessageFormatParser().parse(getMspecStream("bacnet-properties"), typeContext); + + LOGGER.info("Parsing: bacnet-objects.mspec"); + typeContext = new MessageFormatParser().parse(getMspecStream("bacnet-objects"), typeContext); + typeContext.validate(); return typeContext; diff --git a/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-properties.mspec b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-properties.mspec new file mode 100644 index 00000000000..608fcd7bdd5 --- /dev/null +++ b/protocols/bacnetip/src/main/resources/protocols/bacnetip/bacnet-properties.mspec @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +[type ReadableProperty(string 64 bacType) + +] + +[type WritableProperty(string 64 bacType) + +] + +[type OptionalProperty(string 64 bacType) + +] \ No newline at end of file diff --git a/protocols/bacnetip/src/main/script/produceObjects.groovy b/protocols/bacnetip/src/main/script/produceObjects.groovy new file mode 100644 index 00000000000..0e01348c81a --- /dev/null +++ b/protocols/bacnetip/src/main/script/produceObjects.groovy @@ -0,0 +1,95 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import groovy.text.SimpleTemplateEngine +import org.apache.maven.project.MavenProject + +project = (MavenProject) project + +Class theParsedClass = this.class.classLoader.parseClass(new File(project.getBasedir(), "src/main/java/org/apache/plc4x/protocol/bacnetip/BACnetObjectsDefinitions.java")); + +//import org.apache.plc4x.protocol.bacnetip.BACnetObjectsDefinitions +bod = theParsedClass.newInstance() //as BACnetObjectsDefinitions + +objects = bod.bacNetObjects.collect(obj -> + [ + name : obj.name.replace(" ", "").replace("-", "").replace("_", ""), + bacNetProperties: obj.@properties.collect { prop -> + var printableType = "Readable" + switch (prop.conformanceCode.type) { + case "R": + printableType = "Readable" + break + case "W": + printableType = "Writable" + break + case "O": + printableType = "Optional" + break + } + [ + type : printableType, + dataType : prop.propertyDataType, // TODO: we need to come up with a good solution for this + identifier: prop.propertyIdentifier.replace("_", "").uncapitalize() + ] + } + ] +) + + +objectsTemplate = """ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + + // Code generated by code-generation. DO NOT EDIT. +<% for (obj in objects) { %> +[type <%= obj.name %> +<% for (prop in obj.bacNetProperties) { %> [simple <%= prop.type %>Property('"<%= prop.dataType %>"') <%= prop.identifier %>]\n<% } %> +] +<% } %> +""" +SimpleTemplateEngine templateEngine = new SimpleTemplateEngine() +def template = templateEngine.createTemplate(objectsTemplate).make([objects: objects]) + +def mspecTargetDir = new File(project.getBasedir(), "src/main/generated/protocols/bacnetip") +if (!mspecTargetDir.exists()) { + mspecTargetDir.mkdirs() +} +def vendorIdMspec = new File(mspecTargetDir, "bacnet-objects.mspec") +if (vendorIdMspec.exists()) { + vendorIdMspec.delete() +} + +template.writeTo(vendorIdMspec.newWriter()) diff --git a/protocols/bacnetip/src/main/script/produceTaggedBitStrings.groovy b/protocols/bacnetip/src/main/script/produceTaggedBitStrings.groovy index 920e8a5cec7..e67cf40d5c9 100644 --- a/protocols/bacnetip/src/main/script/produceTaggedBitStrings.groovy +++ b/protocols/bacnetip/src/main/script/produceTaggedBitStrings.groovy @@ -42,7 +42,7 @@ if (matcher.find()) { def enumCamelCase = enumInstanceName.toLowerCase().replaceAll("(_)([A-Za-z0-9])", { it[2].toUpperCase() }) enumEntries[enumId] = [enumId: enumId, enumInstanceName: enumInstanceName, enumCamelCase: enumCamelCase] } - log.info("Generating type for {} with {} entries", enumName, enumEntries.size()) + log.info("Generating type for ${enumName} with ${enumEntries.size()} entries") foundEnums << [name: enumName, enumContent: enumContent, enumEntries: enumEntries] } } diff --git a/protocols/bacnetip/src/main/script/produceTaggedEnums.groovy b/protocols/bacnetip/src/main/script/produceTaggedEnums.groovy index 9c3d0a41ca1..46829b48a25 100644 --- a/protocols/bacnetip/src/main/script/produceTaggedEnums.groovy +++ b/protocols/bacnetip/src/main/script/produceTaggedEnums.groovy @@ -32,10 +32,10 @@ bacnetEnumsFile.eachLine { if (matcher.find()) { def enumName = matcher[0][1] if (enumName in skippedEnums) { - log.info("Skipping generation of tagged type for {}", enumName) + log.info("Skipping generation of tagged type for ${enumName}") return } - log.info("Generating type for {}", enumName) + log.info("Generating type for ${enumName}") foundEnums << [name: enumName] } } @@ -91,7 +91,7 @@ if (!mspecTargetDir.exists()) { mspecTargetDir.mkdirs() } def vendorIdMspec = new File(mspecTargetDir, "bacnet-enums-tagged.mspec") -if(vendorIdMspec.exists()) { +if (vendorIdMspec.exists()) { vendorIdMspec.delete() } diff --git a/protocols/bacnetip/src/main/script/produceTaggedPrivateEnums.groovy b/protocols/bacnetip/src/main/script/produceTaggedPrivateEnums.groovy index a509a236dbe..1cb8bc0e770 100644 --- a/protocols/bacnetip/src/main/script/produceTaggedPrivateEnums.groovy +++ b/protocols/bacnetip/src/main/script/produceTaggedPrivateEnums.groovy @@ -29,7 +29,7 @@ if (matcher.find()) { matcher.each { def enumName = it[1] def firstFoundEnum = it[2] - log.info("Generating type for {} with first found enum {}", enumName, firstFoundEnum) + log.info("Generating type for ${enumName} with first found enum ${firstFoundEnum}") foundEnums << [name: enumName, firstEnum: firstFoundEnum] } } @@ -78,7 +78,7 @@ if (!mspecTargetDir.exists()) { mspecTargetDir.mkdirs() } def vendorIdMspec = new File(mspecTargetDir, "bacnet-private-enums-tagged.mspec") -if(vendorIdMspec.exists()) { +if (vendorIdMspec.exists()) { vendorIdMspec.delete() }