plc4go/protocols/bacnetip/readwrite/model/BACnetEventParameterExtendedParameters.go (970 lines of code) (raw):
/*
* 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.
// BACnetEventParameterExtendedParameters is the corresponding interface of BACnetEventParameterExtendedParameters
type BACnetEventParameterExtendedParameters interface {
fmt.Stringer
utils.LengthAware
utils.Serializable
utils.Copyable
// GetOpeningTag returns OpeningTag (property field)
GetOpeningTag() BACnetOpeningTag
// GetPeekedTagHeader returns PeekedTagHeader (property field)
GetPeekedTagHeader() BACnetTagHeader
// GetNullValue returns NullValue (property field)
GetNullValue() BACnetApplicationTagNull
// GetRealValue returns RealValue (property field)
GetRealValue() BACnetApplicationTagReal
// GetUnsignedValue returns UnsignedValue (property field)
GetUnsignedValue() BACnetApplicationTagUnsignedInteger
// GetBooleanValue returns BooleanValue (property field)
GetBooleanValue() BACnetApplicationTagBoolean
// GetIntegerValue returns IntegerValue (property field)
GetIntegerValue() BACnetApplicationTagSignedInteger
// GetDoubleValue returns DoubleValue (property field)
GetDoubleValue() BACnetApplicationTagDouble
// GetOctetStringValue returns OctetStringValue (property field)
GetOctetStringValue() BACnetApplicationTagOctetString
// GetCharacterStringValue returns CharacterStringValue (property field)
GetCharacterStringValue() BACnetApplicationTagCharacterString
// GetBitStringValue returns BitStringValue (property field)
GetBitStringValue() BACnetApplicationTagBitString
// GetEnumeratedValue returns EnumeratedValue (property field)
GetEnumeratedValue() BACnetApplicationTagEnumerated
// GetDateValue returns DateValue (property field)
GetDateValue() BACnetApplicationTagDate
// GetTimeValue returns TimeValue (property field)
GetTimeValue() BACnetApplicationTagTime
// GetObjectIdentifier returns ObjectIdentifier (property field)
GetObjectIdentifier() BACnetApplicationTagObjectIdentifier
// GetReference returns Reference (property field)
GetReference() BACnetDeviceObjectPropertyReferenceEnclosed
// GetClosingTag returns ClosingTag (property field)
GetClosingTag() BACnetClosingTag
// GetPeekedTagNumber returns PeekedTagNumber (virtual field)
GetPeekedTagNumber() uint8
// GetIsOpeningTag returns IsOpeningTag (virtual field)
GetIsOpeningTag() bool
// GetIsClosingTag returns IsClosingTag (virtual field)
GetIsClosingTag() bool
// IsBACnetEventParameterExtendedParameters is a marker method to prevent unintentional type checks (interfaces of same signature)
IsBACnetEventParameterExtendedParameters()
// CreateBuilder creates a BACnetEventParameterExtendedParametersBuilder
CreateBACnetEventParameterExtendedParametersBuilder() BACnetEventParameterExtendedParametersBuilder
}
// _BACnetEventParameterExtendedParameters is the data-structure of this message
type _BACnetEventParameterExtendedParameters struct {
OpeningTag BACnetOpeningTag
PeekedTagHeader BACnetTagHeader
NullValue BACnetApplicationTagNull
RealValue BACnetApplicationTagReal
UnsignedValue BACnetApplicationTagUnsignedInteger
BooleanValue BACnetApplicationTagBoolean
IntegerValue BACnetApplicationTagSignedInteger
DoubleValue BACnetApplicationTagDouble
OctetStringValue BACnetApplicationTagOctetString
CharacterStringValue BACnetApplicationTagCharacterString
BitStringValue BACnetApplicationTagBitString
EnumeratedValue BACnetApplicationTagEnumerated
DateValue BACnetApplicationTagDate
TimeValue BACnetApplicationTagTime
ObjectIdentifier BACnetApplicationTagObjectIdentifier
Reference BACnetDeviceObjectPropertyReferenceEnclosed
ClosingTag BACnetClosingTag
// Arguments.
TagNumber uint8
}
var _ BACnetEventParameterExtendedParameters = (*_BACnetEventParameterExtendedParameters)(nil)
// NewBACnetEventParameterExtendedParameters factory function for _BACnetEventParameterExtendedParameters
func NewBACnetEventParameterExtendedParameters(openingTag BACnetOpeningTag, peekedTagHeader BACnetTagHeader, nullValue BACnetApplicationTagNull, realValue BACnetApplicationTagReal, unsignedValue BACnetApplicationTagUnsignedInteger, booleanValue BACnetApplicationTagBoolean, integerValue BACnetApplicationTagSignedInteger, doubleValue BACnetApplicationTagDouble, octetStringValue BACnetApplicationTagOctetString, characterStringValue BACnetApplicationTagCharacterString, bitStringValue BACnetApplicationTagBitString, enumeratedValue BACnetApplicationTagEnumerated, dateValue BACnetApplicationTagDate, timeValue BACnetApplicationTagTime, objectIdentifier BACnetApplicationTagObjectIdentifier, reference BACnetDeviceObjectPropertyReferenceEnclosed, closingTag BACnetClosingTag, tagNumber uint8) *_BACnetEventParameterExtendedParameters {
if openingTag == nil {
panic("openingTag of type BACnetOpeningTag for BACnetEventParameterExtendedParameters must not be nil")
}
if peekedTagHeader == nil {
panic("peekedTagHeader of type BACnetTagHeader for BACnetEventParameterExtendedParameters must not be nil")
}
if closingTag == nil {
panic("closingTag of type BACnetClosingTag for BACnetEventParameterExtendedParameters must not be nil")
}
return &_BACnetEventParameterExtendedParameters{OpeningTag: openingTag, PeekedTagHeader: peekedTagHeader, NullValue: nullValue, RealValue: realValue, UnsignedValue: unsignedValue, BooleanValue: booleanValue, IntegerValue: integerValue, DoubleValue: doubleValue, OctetStringValue: octetStringValue, CharacterStringValue: characterStringValue, BitStringValue: bitStringValue, EnumeratedValue: enumeratedValue, DateValue: dateValue, TimeValue: timeValue, ObjectIdentifier: objectIdentifier, Reference: reference, ClosingTag: closingTag, TagNumber: tagNumber}
}
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
/////////////////////// Builder
///////////////////////
// BACnetEventParameterExtendedParametersBuilder is a builder for BACnetEventParameterExtendedParameters
type BACnetEventParameterExtendedParametersBuilder interface {
utils.Copyable
// WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls)
WithMandatoryFields(openingTag BACnetOpeningTag, peekedTagHeader BACnetTagHeader, closingTag BACnetClosingTag) BACnetEventParameterExtendedParametersBuilder
// WithOpeningTag adds OpeningTag (property field)
WithOpeningTag(BACnetOpeningTag) BACnetEventParameterExtendedParametersBuilder
// WithOpeningTagBuilder adds OpeningTag (property field) which is build by the builder
WithOpeningTagBuilder(func(BACnetOpeningTagBuilder) BACnetOpeningTagBuilder) BACnetEventParameterExtendedParametersBuilder
// WithPeekedTagHeader adds PeekedTagHeader (property field)
WithPeekedTagHeader(BACnetTagHeader) BACnetEventParameterExtendedParametersBuilder
// WithPeekedTagHeaderBuilder adds PeekedTagHeader (property field) which is build by the builder
WithPeekedTagHeaderBuilder(func(BACnetTagHeaderBuilder) BACnetTagHeaderBuilder) BACnetEventParameterExtendedParametersBuilder
// WithNullValue adds NullValue (property field)
WithOptionalNullValue(BACnetApplicationTagNull) BACnetEventParameterExtendedParametersBuilder
// WithOptionalNullValueBuilder adds NullValue (property field) which is build by the builder
WithOptionalNullValueBuilder(func(BACnetApplicationTagNullBuilder) BACnetApplicationTagNullBuilder) BACnetEventParameterExtendedParametersBuilder
// WithRealValue adds RealValue (property field)
WithOptionalRealValue(BACnetApplicationTagReal) BACnetEventParameterExtendedParametersBuilder
// WithOptionalRealValueBuilder adds RealValue (property field) which is build by the builder
WithOptionalRealValueBuilder(func(BACnetApplicationTagRealBuilder) BACnetApplicationTagRealBuilder) BACnetEventParameterExtendedParametersBuilder
// WithUnsignedValue adds UnsignedValue (property field)
WithOptionalUnsignedValue(BACnetApplicationTagUnsignedInteger) BACnetEventParameterExtendedParametersBuilder
// WithOptionalUnsignedValueBuilder adds UnsignedValue (property field) which is build by the builder
WithOptionalUnsignedValueBuilder(func(BACnetApplicationTagUnsignedIntegerBuilder) BACnetApplicationTagUnsignedIntegerBuilder) BACnetEventParameterExtendedParametersBuilder
// WithBooleanValue adds BooleanValue (property field)
WithOptionalBooleanValue(BACnetApplicationTagBoolean) BACnetEventParameterExtendedParametersBuilder
// WithOptionalBooleanValueBuilder adds BooleanValue (property field) which is build by the builder
WithOptionalBooleanValueBuilder(func(BACnetApplicationTagBooleanBuilder) BACnetApplicationTagBooleanBuilder) BACnetEventParameterExtendedParametersBuilder
// WithIntegerValue adds IntegerValue (property field)
WithOptionalIntegerValue(BACnetApplicationTagSignedInteger) BACnetEventParameterExtendedParametersBuilder
// WithOptionalIntegerValueBuilder adds IntegerValue (property field) which is build by the builder
WithOptionalIntegerValueBuilder(func(BACnetApplicationTagSignedIntegerBuilder) BACnetApplicationTagSignedIntegerBuilder) BACnetEventParameterExtendedParametersBuilder
// WithDoubleValue adds DoubleValue (property field)
WithOptionalDoubleValue(BACnetApplicationTagDouble) BACnetEventParameterExtendedParametersBuilder
// WithOptionalDoubleValueBuilder adds DoubleValue (property field) which is build by the builder
WithOptionalDoubleValueBuilder(func(BACnetApplicationTagDoubleBuilder) BACnetApplicationTagDoubleBuilder) BACnetEventParameterExtendedParametersBuilder
// WithOctetStringValue adds OctetStringValue (property field)
WithOptionalOctetStringValue(BACnetApplicationTagOctetString) BACnetEventParameterExtendedParametersBuilder
// WithOptionalOctetStringValueBuilder adds OctetStringValue (property field) which is build by the builder
WithOptionalOctetStringValueBuilder(func(BACnetApplicationTagOctetStringBuilder) BACnetApplicationTagOctetStringBuilder) BACnetEventParameterExtendedParametersBuilder
// WithCharacterStringValue adds CharacterStringValue (property field)
WithOptionalCharacterStringValue(BACnetApplicationTagCharacterString) BACnetEventParameterExtendedParametersBuilder
// WithOptionalCharacterStringValueBuilder adds CharacterStringValue (property field) which is build by the builder
WithOptionalCharacterStringValueBuilder(func(BACnetApplicationTagCharacterStringBuilder) BACnetApplicationTagCharacterStringBuilder) BACnetEventParameterExtendedParametersBuilder
// WithBitStringValue adds BitStringValue (property field)
WithOptionalBitStringValue(BACnetApplicationTagBitString) BACnetEventParameterExtendedParametersBuilder
// WithOptionalBitStringValueBuilder adds BitStringValue (property field) which is build by the builder
WithOptionalBitStringValueBuilder(func(BACnetApplicationTagBitStringBuilder) BACnetApplicationTagBitStringBuilder) BACnetEventParameterExtendedParametersBuilder
// WithEnumeratedValue adds EnumeratedValue (property field)
WithOptionalEnumeratedValue(BACnetApplicationTagEnumerated) BACnetEventParameterExtendedParametersBuilder
// WithOptionalEnumeratedValueBuilder adds EnumeratedValue (property field) which is build by the builder
WithOptionalEnumeratedValueBuilder(func(BACnetApplicationTagEnumeratedBuilder) BACnetApplicationTagEnumeratedBuilder) BACnetEventParameterExtendedParametersBuilder
// WithDateValue adds DateValue (property field)
WithOptionalDateValue(BACnetApplicationTagDate) BACnetEventParameterExtendedParametersBuilder
// WithOptionalDateValueBuilder adds DateValue (property field) which is build by the builder
WithOptionalDateValueBuilder(func(BACnetApplicationTagDateBuilder) BACnetApplicationTagDateBuilder) BACnetEventParameterExtendedParametersBuilder
// WithTimeValue adds TimeValue (property field)
WithOptionalTimeValue(BACnetApplicationTagTime) BACnetEventParameterExtendedParametersBuilder
// WithOptionalTimeValueBuilder adds TimeValue (property field) which is build by the builder
WithOptionalTimeValueBuilder(func(BACnetApplicationTagTimeBuilder) BACnetApplicationTagTimeBuilder) BACnetEventParameterExtendedParametersBuilder
// WithObjectIdentifier adds ObjectIdentifier (property field)
WithOptionalObjectIdentifier(BACnetApplicationTagObjectIdentifier) BACnetEventParameterExtendedParametersBuilder
// WithOptionalObjectIdentifierBuilder adds ObjectIdentifier (property field) which is build by the builder
WithOptionalObjectIdentifierBuilder(func(BACnetApplicationTagObjectIdentifierBuilder) BACnetApplicationTagObjectIdentifierBuilder) BACnetEventParameterExtendedParametersBuilder
// WithReference adds Reference (property field)
WithOptionalReference(BACnetDeviceObjectPropertyReferenceEnclosed) BACnetEventParameterExtendedParametersBuilder
// WithOptionalReferenceBuilder adds Reference (property field) which is build by the builder
WithOptionalReferenceBuilder(func(BACnetDeviceObjectPropertyReferenceEnclosedBuilder) BACnetDeviceObjectPropertyReferenceEnclosedBuilder) BACnetEventParameterExtendedParametersBuilder
// WithClosingTag adds ClosingTag (property field)
WithClosingTag(BACnetClosingTag) BACnetEventParameterExtendedParametersBuilder
// WithClosingTagBuilder adds ClosingTag (property field) which is build by the builder
WithClosingTagBuilder(func(BACnetClosingTagBuilder) BACnetClosingTagBuilder) BACnetEventParameterExtendedParametersBuilder
// WithArgTagNumber sets a parser argument
WithArgTagNumber(uint8) BACnetEventParameterExtendedParametersBuilder
// Build builds the BACnetEventParameterExtendedParameters or returns an error if something is wrong
Build() (BACnetEventParameterExtendedParameters, error)
// MustBuild does the same as Build but panics on error
MustBuild() BACnetEventParameterExtendedParameters
}
// NewBACnetEventParameterExtendedParametersBuilder() creates a BACnetEventParameterExtendedParametersBuilder
func NewBACnetEventParameterExtendedParametersBuilder() BACnetEventParameterExtendedParametersBuilder {
return &_BACnetEventParameterExtendedParametersBuilder{_BACnetEventParameterExtendedParameters: new(_BACnetEventParameterExtendedParameters)}
}
type _BACnetEventParameterExtendedParametersBuilder struct {
*_BACnetEventParameterExtendedParameters
err *utils.MultiError
}
var _ (BACnetEventParameterExtendedParametersBuilder) = (*_BACnetEventParameterExtendedParametersBuilder)(nil)
func (b *_BACnetEventParameterExtendedParametersBuilder) WithMandatoryFields(openingTag BACnetOpeningTag, peekedTagHeader BACnetTagHeader, closingTag BACnetClosingTag) BACnetEventParameterExtendedParametersBuilder {
return b.WithOpeningTag(openingTag).WithPeekedTagHeader(peekedTagHeader).WithClosingTag(closingTag)
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOpeningTag(openingTag BACnetOpeningTag) BACnetEventParameterExtendedParametersBuilder {
b.OpeningTag = openingTag
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOpeningTagBuilder(builderSupplier func(BACnetOpeningTagBuilder) BACnetOpeningTagBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.OpeningTag.CreateBACnetOpeningTagBuilder())
var err error
b.OpeningTag, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetOpeningTagBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithPeekedTagHeader(peekedTagHeader BACnetTagHeader) BACnetEventParameterExtendedParametersBuilder {
b.PeekedTagHeader = peekedTagHeader
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithPeekedTagHeaderBuilder(builderSupplier func(BACnetTagHeaderBuilder) BACnetTagHeaderBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.PeekedTagHeader.CreateBACnetTagHeaderBuilder())
var err error
b.PeekedTagHeader, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetTagHeaderBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalNullValue(nullValue BACnetApplicationTagNull) BACnetEventParameterExtendedParametersBuilder {
b.NullValue = nullValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalNullValueBuilder(builderSupplier func(BACnetApplicationTagNullBuilder) BACnetApplicationTagNullBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.NullValue.CreateBACnetApplicationTagNullBuilder())
var err error
b.NullValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagNullBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalRealValue(realValue BACnetApplicationTagReal) BACnetEventParameterExtendedParametersBuilder {
b.RealValue = realValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalRealValueBuilder(builderSupplier func(BACnetApplicationTagRealBuilder) BACnetApplicationTagRealBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.RealValue.CreateBACnetApplicationTagRealBuilder())
var err error
b.RealValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagRealBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalUnsignedValue(unsignedValue BACnetApplicationTagUnsignedInteger) BACnetEventParameterExtendedParametersBuilder {
b.UnsignedValue = unsignedValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalUnsignedValueBuilder(builderSupplier func(BACnetApplicationTagUnsignedIntegerBuilder) BACnetApplicationTagUnsignedIntegerBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.UnsignedValue.CreateBACnetApplicationTagUnsignedIntegerBuilder())
var err error
b.UnsignedValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagUnsignedIntegerBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalBooleanValue(booleanValue BACnetApplicationTagBoolean) BACnetEventParameterExtendedParametersBuilder {
b.BooleanValue = booleanValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalBooleanValueBuilder(builderSupplier func(BACnetApplicationTagBooleanBuilder) BACnetApplicationTagBooleanBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.BooleanValue.CreateBACnetApplicationTagBooleanBuilder())
var err error
b.BooleanValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagBooleanBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalIntegerValue(integerValue BACnetApplicationTagSignedInteger) BACnetEventParameterExtendedParametersBuilder {
b.IntegerValue = integerValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalIntegerValueBuilder(builderSupplier func(BACnetApplicationTagSignedIntegerBuilder) BACnetApplicationTagSignedIntegerBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.IntegerValue.CreateBACnetApplicationTagSignedIntegerBuilder())
var err error
b.IntegerValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagSignedIntegerBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalDoubleValue(doubleValue BACnetApplicationTagDouble) BACnetEventParameterExtendedParametersBuilder {
b.DoubleValue = doubleValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalDoubleValueBuilder(builderSupplier func(BACnetApplicationTagDoubleBuilder) BACnetApplicationTagDoubleBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.DoubleValue.CreateBACnetApplicationTagDoubleBuilder())
var err error
b.DoubleValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagDoubleBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalOctetStringValue(octetStringValue BACnetApplicationTagOctetString) BACnetEventParameterExtendedParametersBuilder {
b.OctetStringValue = octetStringValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalOctetStringValueBuilder(builderSupplier func(BACnetApplicationTagOctetStringBuilder) BACnetApplicationTagOctetStringBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.OctetStringValue.CreateBACnetApplicationTagOctetStringBuilder())
var err error
b.OctetStringValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagOctetStringBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalCharacterStringValue(characterStringValue BACnetApplicationTagCharacterString) BACnetEventParameterExtendedParametersBuilder {
b.CharacterStringValue = characterStringValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalCharacterStringValueBuilder(builderSupplier func(BACnetApplicationTagCharacterStringBuilder) BACnetApplicationTagCharacterStringBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.CharacterStringValue.CreateBACnetApplicationTagCharacterStringBuilder())
var err error
b.CharacterStringValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagCharacterStringBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalBitStringValue(bitStringValue BACnetApplicationTagBitString) BACnetEventParameterExtendedParametersBuilder {
b.BitStringValue = bitStringValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalBitStringValueBuilder(builderSupplier func(BACnetApplicationTagBitStringBuilder) BACnetApplicationTagBitStringBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.BitStringValue.CreateBACnetApplicationTagBitStringBuilder())
var err error
b.BitStringValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagBitStringBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalEnumeratedValue(enumeratedValue BACnetApplicationTagEnumerated) BACnetEventParameterExtendedParametersBuilder {
b.EnumeratedValue = enumeratedValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalEnumeratedValueBuilder(builderSupplier func(BACnetApplicationTagEnumeratedBuilder) BACnetApplicationTagEnumeratedBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.EnumeratedValue.CreateBACnetApplicationTagEnumeratedBuilder())
var err error
b.EnumeratedValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagEnumeratedBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalDateValue(dateValue BACnetApplicationTagDate) BACnetEventParameterExtendedParametersBuilder {
b.DateValue = dateValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalDateValueBuilder(builderSupplier func(BACnetApplicationTagDateBuilder) BACnetApplicationTagDateBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.DateValue.CreateBACnetApplicationTagDateBuilder())
var err error
b.DateValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagDateBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalTimeValue(timeValue BACnetApplicationTagTime) BACnetEventParameterExtendedParametersBuilder {
b.TimeValue = timeValue
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalTimeValueBuilder(builderSupplier func(BACnetApplicationTagTimeBuilder) BACnetApplicationTagTimeBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.TimeValue.CreateBACnetApplicationTagTimeBuilder())
var err error
b.TimeValue, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetApplicationTagTimeBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalObjectIdentifier(objectIdentifier BACnetApplicationTagObjectIdentifier) BACnetEventParameterExtendedParametersBuilder {
b.ObjectIdentifier = objectIdentifier
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalObjectIdentifierBuilder(builderSupplier func(BACnetApplicationTagObjectIdentifierBuilder) BACnetApplicationTagObjectIdentifierBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.ObjectIdentifier.CreateBACnetApplicationTagObjectIdentifierBuilder())
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, "BACnetApplicationTagObjectIdentifierBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalReference(reference BACnetDeviceObjectPropertyReferenceEnclosed) BACnetEventParameterExtendedParametersBuilder {
b.Reference = reference
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithOptionalReferenceBuilder(builderSupplier func(BACnetDeviceObjectPropertyReferenceEnclosedBuilder) BACnetDeviceObjectPropertyReferenceEnclosedBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.Reference.CreateBACnetDeviceObjectPropertyReferenceEnclosedBuilder())
var err error
b.Reference, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetDeviceObjectPropertyReferenceEnclosedBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithClosingTag(closingTag BACnetClosingTag) BACnetEventParameterExtendedParametersBuilder {
b.ClosingTag = closingTag
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithClosingTagBuilder(builderSupplier func(BACnetClosingTagBuilder) BACnetClosingTagBuilder) BACnetEventParameterExtendedParametersBuilder {
builder := builderSupplier(b.ClosingTag.CreateBACnetClosingTagBuilder())
var err error
b.ClosingTag, err = builder.Build()
if err != nil {
if b.err == nil {
b.err = &utils.MultiError{MainError: errors.New("sub builder failed")}
}
b.err.Append(errors.Wrap(err, "BACnetClosingTagBuilder failed"))
}
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) WithArgTagNumber(tagNumber uint8) BACnetEventParameterExtendedParametersBuilder {
b.TagNumber = tagNumber
return b
}
func (b *_BACnetEventParameterExtendedParametersBuilder) Build() (BACnetEventParameterExtendedParameters, error) {
if b.OpeningTag == nil {
if b.err == nil {
b.err = new(utils.MultiError)
}
b.err.Append(errors.New("mandatory field 'openingTag' not set"))
}
if b.PeekedTagHeader == nil {
if b.err == nil {
b.err = new(utils.MultiError)
}
b.err.Append(errors.New("mandatory field 'peekedTagHeader' not set"))
}
if b.ClosingTag == nil {
if b.err == nil {
b.err = new(utils.MultiError)
}
b.err.Append(errors.New("mandatory field 'closingTag' not set"))
}
if b.err != nil {
return nil, errors.Wrap(b.err, "error occurred during build")
}
return b._BACnetEventParameterExtendedParameters.deepCopy(), nil
}
func (b *_BACnetEventParameterExtendedParametersBuilder) MustBuild() BACnetEventParameterExtendedParameters {
build, err := b.Build()
if err != nil {
panic(err)
}
return build
}
func (b *_BACnetEventParameterExtendedParametersBuilder) DeepCopy() any {
_copy := b.CreateBACnetEventParameterExtendedParametersBuilder().(*_BACnetEventParameterExtendedParametersBuilder)
if b.err != nil {
_copy.err = b.err.DeepCopy().(*utils.MultiError)
}
return _copy
}
// CreateBACnetEventParameterExtendedParametersBuilder creates a BACnetEventParameterExtendedParametersBuilder
func (b *_BACnetEventParameterExtendedParameters) CreateBACnetEventParameterExtendedParametersBuilder() BACnetEventParameterExtendedParametersBuilder {
if b == nil {
return NewBACnetEventParameterExtendedParametersBuilder()
}
return &_BACnetEventParameterExtendedParametersBuilder{_BACnetEventParameterExtendedParameters: b.deepCopy()}
}
///////////////////////
///////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
/////////////////////// Accessors for property fields.
///////////////////////
func (m *_BACnetEventParameterExtendedParameters) GetOpeningTag() BACnetOpeningTag {
return m.OpeningTag
}
func (m *_BACnetEventParameterExtendedParameters) GetPeekedTagHeader() BACnetTagHeader {
return m.PeekedTagHeader
}
func (m *_BACnetEventParameterExtendedParameters) GetNullValue() BACnetApplicationTagNull {
return m.NullValue
}
func (m *_BACnetEventParameterExtendedParameters) GetRealValue() BACnetApplicationTagReal {
return m.RealValue
}
func (m *_BACnetEventParameterExtendedParameters) GetUnsignedValue() BACnetApplicationTagUnsignedInteger {
return m.UnsignedValue
}
func (m *_BACnetEventParameterExtendedParameters) GetBooleanValue() BACnetApplicationTagBoolean {
return m.BooleanValue
}
func (m *_BACnetEventParameterExtendedParameters) GetIntegerValue() BACnetApplicationTagSignedInteger {
return m.IntegerValue
}
func (m *_BACnetEventParameterExtendedParameters) GetDoubleValue() BACnetApplicationTagDouble {
return m.DoubleValue
}
func (m *_BACnetEventParameterExtendedParameters) GetOctetStringValue() BACnetApplicationTagOctetString {
return m.OctetStringValue
}
func (m *_BACnetEventParameterExtendedParameters) GetCharacterStringValue() BACnetApplicationTagCharacterString {
return m.CharacterStringValue
}
func (m *_BACnetEventParameterExtendedParameters) GetBitStringValue() BACnetApplicationTagBitString {
return m.BitStringValue
}
func (m *_BACnetEventParameterExtendedParameters) GetEnumeratedValue() BACnetApplicationTagEnumerated {
return m.EnumeratedValue
}
func (m *_BACnetEventParameterExtendedParameters) GetDateValue() BACnetApplicationTagDate {
return m.DateValue
}
func (m *_BACnetEventParameterExtendedParameters) GetTimeValue() BACnetApplicationTagTime {
return m.TimeValue
}
func (m *_BACnetEventParameterExtendedParameters) GetObjectIdentifier() BACnetApplicationTagObjectIdentifier {
return m.ObjectIdentifier
}
func (m *_BACnetEventParameterExtendedParameters) GetReference() BACnetDeviceObjectPropertyReferenceEnclosed {
return m.Reference
}
func (m *_BACnetEventParameterExtendedParameters) GetClosingTag() BACnetClosingTag {
return m.ClosingTag
}
///////////////////////
///////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
/////////////////////// Accessors for virtual fields.
///////////////////////
func (m *_BACnetEventParameterExtendedParameters) GetPeekedTagNumber() uint8 {
ctx := context.Background()
_ = ctx
nullValue := m.GetNullValue()
_ = nullValue
realValue := m.GetRealValue()
_ = realValue
unsignedValue := m.GetUnsignedValue()
_ = unsignedValue
booleanValue := m.GetBooleanValue()
_ = booleanValue
integerValue := m.GetIntegerValue()
_ = integerValue
doubleValue := m.GetDoubleValue()
_ = doubleValue
octetStringValue := m.GetOctetStringValue()
_ = octetStringValue
characterStringValue := m.GetCharacterStringValue()
_ = characterStringValue
bitStringValue := m.GetBitStringValue()
_ = bitStringValue
enumeratedValue := m.GetEnumeratedValue()
_ = enumeratedValue
dateValue := m.GetDateValue()
_ = dateValue
timeValue := m.GetTimeValue()
_ = timeValue
objectIdentifier := m.GetObjectIdentifier()
_ = objectIdentifier
reference := m.GetReference()
_ = reference
return uint8(m.GetPeekedTagHeader().GetActualTagNumber())
}
func (m *_BACnetEventParameterExtendedParameters) GetIsOpeningTag() bool {
ctx := context.Background()
_ = ctx
nullValue := m.GetNullValue()
_ = nullValue
realValue := m.GetRealValue()
_ = realValue
unsignedValue := m.GetUnsignedValue()
_ = unsignedValue
booleanValue := m.GetBooleanValue()
_ = booleanValue
integerValue := m.GetIntegerValue()
_ = integerValue
doubleValue := m.GetDoubleValue()
_ = doubleValue
octetStringValue := m.GetOctetStringValue()
_ = octetStringValue
characterStringValue := m.GetCharacterStringValue()
_ = characterStringValue
bitStringValue := m.GetBitStringValue()
_ = bitStringValue
enumeratedValue := m.GetEnumeratedValue()
_ = enumeratedValue
dateValue := m.GetDateValue()
_ = dateValue
timeValue := m.GetTimeValue()
_ = timeValue
objectIdentifier := m.GetObjectIdentifier()
_ = objectIdentifier
reference := m.GetReference()
_ = reference
return bool(bool((m.GetPeekedTagHeader().GetLengthValueType()) == (0x6)))
}
func (m *_BACnetEventParameterExtendedParameters) GetIsClosingTag() bool {
ctx := context.Background()
_ = ctx
nullValue := m.GetNullValue()
_ = nullValue
realValue := m.GetRealValue()
_ = realValue
unsignedValue := m.GetUnsignedValue()
_ = unsignedValue
booleanValue := m.GetBooleanValue()
_ = booleanValue
integerValue := m.GetIntegerValue()
_ = integerValue
doubleValue := m.GetDoubleValue()
_ = doubleValue
octetStringValue := m.GetOctetStringValue()
_ = octetStringValue
characterStringValue := m.GetCharacterStringValue()
_ = characterStringValue
bitStringValue := m.GetBitStringValue()
_ = bitStringValue
enumeratedValue := m.GetEnumeratedValue()
_ = enumeratedValue
dateValue := m.GetDateValue()
_ = dateValue
timeValue := m.GetTimeValue()
_ = timeValue
objectIdentifier := m.GetObjectIdentifier()
_ = objectIdentifier
reference := m.GetReference()
_ = reference
return bool(bool((m.GetPeekedTagHeader().GetLengthValueType()) == (0x7)))
}
///////////////////////
///////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Deprecated: use the interface for direct cast
func CastBACnetEventParameterExtendedParameters(structType any) BACnetEventParameterExtendedParameters {
if casted, ok := structType.(BACnetEventParameterExtendedParameters); ok {
return casted
}
if casted, ok := structType.(*BACnetEventParameterExtendedParameters); ok {
return *casted
}
return nil
}
func (m *_BACnetEventParameterExtendedParameters) GetTypeName() string {
return "BACnetEventParameterExtendedParameters"
}
func (m *_BACnetEventParameterExtendedParameters) GetLengthInBits(ctx context.Context) uint16 {
lengthInBits := uint16(0)
// Simple field (openingTag)
lengthInBits += m.OpeningTag.GetLengthInBits(ctx)
// A virtual field doesn't have any in- or output.
// A virtual field doesn't have any in- or output.
// A virtual field doesn't have any in- or output.
// Optional Field (nullValue)
if m.NullValue != nil {
lengthInBits += m.NullValue.GetLengthInBits(ctx)
}
// Optional Field (realValue)
if m.RealValue != nil {
lengthInBits += m.RealValue.GetLengthInBits(ctx)
}
// Optional Field (unsignedValue)
if m.UnsignedValue != nil {
lengthInBits += m.UnsignedValue.GetLengthInBits(ctx)
}
// Optional Field (booleanValue)
if m.BooleanValue != nil {
lengthInBits += m.BooleanValue.GetLengthInBits(ctx)
}
// Optional Field (integerValue)
if m.IntegerValue != nil {
lengthInBits += m.IntegerValue.GetLengthInBits(ctx)
}
// Optional Field (doubleValue)
if m.DoubleValue != nil {
lengthInBits += m.DoubleValue.GetLengthInBits(ctx)
}
// Optional Field (octetStringValue)
if m.OctetStringValue != nil {
lengthInBits += m.OctetStringValue.GetLengthInBits(ctx)
}
// Optional Field (characterStringValue)
if m.CharacterStringValue != nil {
lengthInBits += m.CharacterStringValue.GetLengthInBits(ctx)
}
// Optional Field (bitStringValue)
if m.BitStringValue != nil {
lengthInBits += m.BitStringValue.GetLengthInBits(ctx)
}
// Optional Field (enumeratedValue)
if m.EnumeratedValue != nil {
lengthInBits += m.EnumeratedValue.GetLengthInBits(ctx)
}
// Optional Field (dateValue)
if m.DateValue != nil {
lengthInBits += m.DateValue.GetLengthInBits(ctx)
}
// Optional Field (timeValue)
if m.TimeValue != nil {
lengthInBits += m.TimeValue.GetLengthInBits(ctx)
}
// Optional Field (objectIdentifier)
if m.ObjectIdentifier != nil {
lengthInBits += m.ObjectIdentifier.GetLengthInBits(ctx)
}
// Optional Field (reference)
if m.Reference != nil {
lengthInBits += m.Reference.GetLengthInBits(ctx)
}
// Simple field (closingTag)
lengthInBits += m.ClosingTag.GetLengthInBits(ctx)
return lengthInBits
}
func (m *_BACnetEventParameterExtendedParameters) GetLengthInBytes(ctx context.Context) uint16 {
return m.GetLengthInBits(ctx) / 8
}
func BACnetEventParameterExtendedParametersParse(ctx context.Context, theBytes []byte, tagNumber uint8) (BACnetEventParameterExtendedParameters, error) {
return BACnetEventParameterExtendedParametersParseWithBuffer(ctx, utils.NewReadBufferByteBased(theBytes), tagNumber)
}
func BACnetEventParameterExtendedParametersParseWithBufferProducer(tagNumber uint8) func(ctx context.Context, readBuffer utils.ReadBuffer) (BACnetEventParameterExtendedParameters, error) {
return func(ctx context.Context, readBuffer utils.ReadBuffer) (BACnetEventParameterExtendedParameters, error) {
return BACnetEventParameterExtendedParametersParseWithBuffer(ctx, readBuffer, tagNumber)
}
}
func BACnetEventParameterExtendedParametersParseWithBuffer(ctx context.Context, readBuffer utils.ReadBuffer, tagNumber uint8) (BACnetEventParameterExtendedParameters, error) {
v, err := (&_BACnetEventParameterExtendedParameters{TagNumber: tagNumber}).parse(ctx, readBuffer, tagNumber)
if err != nil {
return nil, err
}
return v, nil
}
func (m *_BACnetEventParameterExtendedParameters) parse(ctx context.Context, readBuffer utils.ReadBuffer, tagNumber uint8) (__bACnetEventParameterExtendedParameters BACnetEventParameterExtendedParameters, err error) {
positionAware := readBuffer
_ = positionAware
if pullErr := readBuffer.PullContext("BACnetEventParameterExtendedParameters"); pullErr != nil {
return nil, errors.Wrap(pullErr, "Error pulling for BACnetEventParameterExtendedParameters")
}
currentPos := positionAware.GetPos()
_ = currentPos
openingTag, err := ReadSimpleField[BACnetOpeningTag](ctx, "openingTag", ReadComplex[BACnetOpeningTag](BACnetOpeningTagParseWithBufferProducer((uint8)(tagNumber)), readBuffer))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'openingTag' field"))
}
m.OpeningTag = openingTag
peekedTagHeader, err := ReadPeekField[BACnetTagHeader](ctx, "peekedTagHeader", ReadComplex[BACnetTagHeader](BACnetTagHeaderParseWithBuffer, readBuffer), 0)
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'peekedTagHeader' field"))
}
m.PeekedTagHeader = peekedTagHeader
peekedTagNumber, err := ReadVirtualField[uint8](ctx, "peekedTagNumber", (*uint8)(nil), peekedTagHeader.GetActualTagNumber())
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'peekedTagNumber' field"))
}
_ = peekedTagNumber
isOpeningTag, err := ReadVirtualField[bool](ctx, "isOpeningTag", (*bool)(nil), bool((peekedTagHeader.GetLengthValueType()) == (0x6)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'isOpeningTag' field"))
}
_ = isOpeningTag
isClosingTag, err := ReadVirtualField[bool](ctx, "isClosingTag", (*bool)(nil), bool((peekedTagHeader.GetLengthValueType()) == (0x7)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'isClosingTag' field"))
}
_ = isClosingTag
var nullValue BACnetApplicationTagNull
_nullValue, err := ReadOptionalField[BACnetApplicationTagNull](ctx, "nullValue", ReadComplex[BACnetApplicationTagNull](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagNull](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x0))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'nullValue' field"))
}
if _nullValue != nil {
nullValue = *_nullValue
m.NullValue = nullValue
}
var realValue BACnetApplicationTagReal
_realValue, err := ReadOptionalField[BACnetApplicationTagReal](ctx, "realValue", ReadComplex[BACnetApplicationTagReal](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagReal](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x4))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'realValue' field"))
}
if _realValue != nil {
realValue = *_realValue
m.RealValue = realValue
}
var unsignedValue BACnetApplicationTagUnsignedInteger
_unsignedValue, err := ReadOptionalField[BACnetApplicationTagUnsignedInteger](ctx, "unsignedValue", ReadComplex[BACnetApplicationTagUnsignedInteger](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagUnsignedInteger](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x2))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'unsignedValue' field"))
}
if _unsignedValue != nil {
unsignedValue = *_unsignedValue
m.UnsignedValue = unsignedValue
}
var booleanValue BACnetApplicationTagBoolean
_booleanValue, err := ReadOptionalField[BACnetApplicationTagBoolean](ctx, "booleanValue", ReadComplex[BACnetApplicationTagBoolean](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagBoolean](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x1))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'booleanValue' field"))
}
if _booleanValue != nil {
booleanValue = *_booleanValue
m.BooleanValue = booleanValue
}
var integerValue BACnetApplicationTagSignedInteger
_integerValue, err := ReadOptionalField[BACnetApplicationTagSignedInteger](ctx, "integerValue", ReadComplex[BACnetApplicationTagSignedInteger](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagSignedInteger](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x3))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'integerValue' field"))
}
if _integerValue != nil {
integerValue = *_integerValue
m.IntegerValue = integerValue
}
var doubleValue BACnetApplicationTagDouble
_doubleValue, err := ReadOptionalField[BACnetApplicationTagDouble](ctx, "doubleValue", ReadComplex[BACnetApplicationTagDouble](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagDouble](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x5))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'doubleValue' field"))
}
if _doubleValue != nil {
doubleValue = *_doubleValue
m.DoubleValue = doubleValue
}
var octetStringValue BACnetApplicationTagOctetString
_octetStringValue, err := ReadOptionalField[BACnetApplicationTagOctetString](ctx, "octetStringValue", ReadComplex[BACnetApplicationTagOctetString](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagOctetString](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x6))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'octetStringValue' field"))
}
if _octetStringValue != nil {
octetStringValue = *_octetStringValue
m.OctetStringValue = octetStringValue
}
var characterStringValue BACnetApplicationTagCharacterString
_characterStringValue, err := ReadOptionalField[BACnetApplicationTagCharacterString](ctx, "characterStringValue", ReadComplex[BACnetApplicationTagCharacterString](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagCharacterString](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x7))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'characterStringValue' field"))
}
if _characterStringValue != nil {
characterStringValue = *_characterStringValue
m.CharacterStringValue = characterStringValue
}
var bitStringValue BACnetApplicationTagBitString
_bitStringValue, err := ReadOptionalField[BACnetApplicationTagBitString](ctx, "bitStringValue", ReadComplex[BACnetApplicationTagBitString](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagBitString](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x8))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'bitStringValue' field"))
}
if _bitStringValue != nil {
bitStringValue = *_bitStringValue
m.BitStringValue = bitStringValue
}
var enumeratedValue BACnetApplicationTagEnumerated
_enumeratedValue, err := ReadOptionalField[BACnetApplicationTagEnumerated](ctx, "enumeratedValue", ReadComplex[BACnetApplicationTagEnumerated](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagEnumerated](), readBuffer), bool(bool(bool((peekedTagNumber) == (0x9))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'enumeratedValue' field"))
}
if _enumeratedValue != nil {
enumeratedValue = *_enumeratedValue
m.EnumeratedValue = enumeratedValue
}
var dateValue BACnetApplicationTagDate
_dateValue, err := ReadOptionalField[BACnetApplicationTagDate](ctx, "dateValue", ReadComplex[BACnetApplicationTagDate](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagDate](), readBuffer), bool(bool(bool((peekedTagNumber) == (0xA))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'dateValue' field"))
}
if _dateValue != nil {
dateValue = *_dateValue
m.DateValue = dateValue
}
var timeValue BACnetApplicationTagTime
_timeValue, err := ReadOptionalField[BACnetApplicationTagTime](ctx, "timeValue", ReadComplex[BACnetApplicationTagTime](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagTime](), readBuffer), bool(bool(bool((peekedTagNumber) == (0xB))) && bool(!(isOpeningTag))) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'timeValue' field"))
}
if _timeValue != nil {
timeValue = *_timeValue
m.TimeValue = timeValue
}
var objectIdentifier BACnetApplicationTagObjectIdentifier
_objectIdentifier, err := ReadOptionalField[BACnetApplicationTagObjectIdentifier](ctx, "objectIdentifier", ReadComplex[BACnetApplicationTagObjectIdentifier](BACnetApplicationTagParseWithBufferProducer[BACnetApplicationTagObjectIdentifier](), readBuffer), bool(bool((peekedTagNumber) == (0xC))) && bool(!(isOpeningTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'objectIdentifier' field"))
}
if _objectIdentifier != nil {
objectIdentifier = *_objectIdentifier
m.ObjectIdentifier = objectIdentifier
}
var reference BACnetDeviceObjectPropertyReferenceEnclosed
_reference, err := ReadOptionalField[BACnetDeviceObjectPropertyReferenceEnclosed](ctx, "reference", ReadComplex[BACnetDeviceObjectPropertyReferenceEnclosed](BACnetDeviceObjectPropertyReferenceEnclosedParseWithBufferProducer((uint8)(uint8(0))), readBuffer), bool(isOpeningTag) && bool(!(isClosingTag)))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'reference' field"))
}
if _reference != nil {
reference = *_reference
m.Reference = reference
}
closingTag, err := ReadSimpleField[BACnetClosingTag](ctx, "closingTag", ReadComplex[BACnetClosingTag](BACnetClosingTagParseWithBufferProducer((uint8)(tagNumber)), readBuffer))
if err != nil {
return nil, errors.Wrap(err, fmt.Sprintf("Error parsing 'closingTag' field"))
}
m.ClosingTag = closingTag
if closeErr := readBuffer.CloseContext("BACnetEventParameterExtendedParameters"); closeErr != nil {
return nil, errors.Wrap(closeErr, "Error closing for BACnetEventParameterExtendedParameters")
}
return m, nil
}
func (m *_BACnetEventParameterExtendedParameters) 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 *_BACnetEventParameterExtendedParameters) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
positionAware := writeBuffer
_ = positionAware
log := zerolog.Ctx(ctx)
_ = log
if pushErr := writeBuffer.PushContext("BACnetEventParameterExtendedParameters"); pushErr != nil {
return errors.Wrap(pushErr, "Error pushing for BACnetEventParameterExtendedParameters")
}
if err := WriteSimpleField[BACnetOpeningTag](ctx, "openingTag", m.GetOpeningTag(), WriteComplex[BACnetOpeningTag](writeBuffer)); err != nil {
return errors.Wrap(err, "Error serializing 'openingTag' field")
}
// Virtual field
peekedTagNumber := m.GetPeekedTagNumber()
_ = peekedTagNumber
if _peekedTagNumberErr := writeBuffer.WriteVirtual(ctx, "peekedTagNumber", m.GetPeekedTagNumber()); _peekedTagNumberErr != nil {
return errors.Wrap(_peekedTagNumberErr, "Error serializing 'peekedTagNumber' field")
}
// Virtual field
isOpeningTag := m.GetIsOpeningTag()
_ = isOpeningTag
if _isOpeningTagErr := writeBuffer.WriteVirtual(ctx, "isOpeningTag", m.GetIsOpeningTag()); _isOpeningTagErr != nil {
return errors.Wrap(_isOpeningTagErr, "Error serializing 'isOpeningTag' field")
}
// Virtual field
isClosingTag := m.GetIsClosingTag()
_ = isClosingTag
if _isClosingTagErr := writeBuffer.WriteVirtual(ctx, "isClosingTag", m.GetIsClosingTag()); _isClosingTagErr != nil {
return errors.Wrap(_isClosingTagErr, "Error serializing 'isClosingTag' field")
}
if err := WriteOptionalField[BACnetApplicationTagNull](ctx, "nullValue", GetRef(m.GetNullValue()), WriteComplex[BACnetApplicationTagNull](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'nullValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagReal](ctx, "realValue", GetRef(m.GetRealValue()), WriteComplex[BACnetApplicationTagReal](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'realValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagUnsignedInteger](ctx, "unsignedValue", GetRef(m.GetUnsignedValue()), WriteComplex[BACnetApplicationTagUnsignedInteger](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'unsignedValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagBoolean](ctx, "booleanValue", GetRef(m.GetBooleanValue()), WriteComplex[BACnetApplicationTagBoolean](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'booleanValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagSignedInteger](ctx, "integerValue", GetRef(m.GetIntegerValue()), WriteComplex[BACnetApplicationTagSignedInteger](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'integerValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagDouble](ctx, "doubleValue", GetRef(m.GetDoubleValue()), WriteComplex[BACnetApplicationTagDouble](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'doubleValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagOctetString](ctx, "octetStringValue", GetRef(m.GetOctetStringValue()), WriteComplex[BACnetApplicationTagOctetString](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'octetStringValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagCharacterString](ctx, "characterStringValue", GetRef(m.GetCharacterStringValue()), WriteComplex[BACnetApplicationTagCharacterString](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'characterStringValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagBitString](ctx, "bitStringValue", GetRef(m.GetBitStringValue()), WriteComplex[BACnetApplicationTagBitString](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'bitStringValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagEnumerated](ctx, "enumeratedValue", GetRef(m.GetEnumeratedValue()), WriteComplex[BACnetApplicationTagEnumerated](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'enumeratedValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagDate](ctx, "dateValue", GetRef(m.GetDateValue()), WriteComplex[BACnetApplicationTagDate](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'dateValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagTime](ctx, "timeValue", GetRef(m.GetTimeValue()), WriteComplex[BACnetApplicationTagTime](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'timeValue' field")
}
if err := WriteOptionalField[BACnetApplicationTagObjectIdentifier](ctx, "objectIdentifier", GetRef(m.GetObjectIdentifier()), WriteComplex[BACnetApplicationTagObjectIdentifier](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'objectIdentifier' field")
}
if err := WriteOptionalField[BACnetDeviceObjectPropertyReferenceEnclosed](ctx, "reference", GetRef(m.GetReference()), WriteComplex[BACnetDeviceObjectPropertyReferenceEnclosed](writeBuffer), true); err != nil {
return errors.Wrap(err, "Error serializing 'reference' field")
}
if err := WriteSimpleField[BACnetClosingTag](ctx, "closingTag", m.GetClosingTag(), WriteComplex[BACnetClosingTag](writeBuffer)); err != nil {
return errors.Wrap(err, "Error serializing 'closingTag' field")
}
if popErr := writeBuffer.PopContext("BACnetEventParameterExtendedParameters"); popErr != nil {
return errors.Wrap(popErr, "Error popping for BACnetEventParameterExtendedParameters")
}
return nil
}
////
// Arguments Getter
func (m *_BACnetEventParameterExtendedParameters) GetTagNumber() uint8 {
return m.TagNumber
}
//
////
func (m *_BACnetEventParameterExtendedParameters) IsBACnetEventParameterExtendedParameters() {}
func (m *_BACnetEventParameterExtendedParameters) DeepCopy() any {
return m.deepCopy()
}
func (m *_BACnetEventParameterExtendedParameters) deepCopy() *_BACnetEventParameterExtendedParameters {
if m == nil {
return nil
}
_BACnetEventParameterExtendedParametersCopy := &_BACnetEventParameterExtendedParameters{
utils.DeepCopy[BACnetOpeningTag](m.OpeningTag),
utils.DeepCopy[BACnetTagHeader](m.PeekedTagHeader),
utils.DeepCopy[BACnetApplicationTagNull](m.NullValue),
utils.DeepCopy[BACnetApplicationTagReal](m.RealValue),
utils.DeepCopy[BACnetApplicationTagUnsignedInteger](m.UnsignedValue),
utils.DeepCopy[BACnetApplicationTagBoolean](m.BooleanValue),
utils.DeepCopy[BACnetApplicationTagSignedInteger](m.IntegerValue),
utils.DeepCopy[BACnetApplicationTagDouble](m.DoubleValue),
utils.DeepCopy[BACnetApplicationTagOctetString](m.OctetStringValue),
utils.DeepCopy[BACnetApplicationTagCharacterString](m.CharacterStringValue),
utils.DeepCopy[BACnetApplicationTagBitString](m.BitStringValue),
utils.DeepCopy[BACnetApplicationTagEnumerated](m.EnumeratedValue),
utils.DeepCopy[BACnetApplicationTagDate](m.DateValue),
utils.DeepCopy[BACnetApplicationTagTime](m.TimeValue),
utils.DeepCopy[BACnetApplicationTagObjectIdentifier](m.ObjectIdentifier),
utils.DeepCopy[BACnetDeviceObjectPropertyReferenceEnclosed](m.Reference),
utils.DeepCopy[BACnetClosingTag](m.ClosingTag),
m.TagNumber,
}
return _BACnetEventParameterExtendedParametersCopy
}
func (m *_BACnetEventParameterExtendedParameters) String() string {
if m == nil {
return "<nil>"
}
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()
}