plc4go/protocols/bacnetip/readwrite/model/BACnetPropertyStates.go (1,088 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.
// BACnetPropertyStates is the corresponding interface of BACnetPropertyStates
type BACnetPropertyStates interface {
BACnetPropertyStatesContract
BACnetPropertyStatesRequirements
fmt.Stringer
utils.LengthAware
utils.Serializable
utils.Copyable
// IsBACnetPropertyStates is a marker method to prevent unintentional type checks (interfaces of same signature)
IsBACnetPropertyStates()
// CreateBuilder creates a BACnetPropertyStatesBuilder
CreateBACnetPropertyStatesBuilder() BACnetPropertyStatesBuilder
}
// BACnetPropertyStatesContract provides a set of functions which can be overwritten by a sub struct
type BACnetPropertyStatesContract interface {
// GetPeekedTagHeader returns PeekedTagHeader (property field)
GetPeekedTagHeader() BACnetTagHeader
// GetPeekedTagNumber returns PeekedTagNumber (virtual field)
GetPeekedTagNumber() uint8
// IsBACnetPropertyStates is a marker method to prevent unintentional type checks (interfaces of same signature)
IsBACnetPropertyStates()
// CreateBuilder creates a BACnetPropertyStatesBuilder
CreateBACnetPropertyStatesBuilder() BACnetPropertyStatesBuilder
}
// BACnetPropertyStatesRequirements provides a set of functions which need to be implemented by a sub struct
type BACnetPropertyStatesRequirements interface {
GetLengthInBits(ctx context.Context) uint16
GetLengthInBytes(ctx context.Context) uint16
// GetPeekedTagNumber returns PeekedTagNumber (discriminator field)
GetPeekedTagNumber() uint8
}
// _BACnetPropertyStates is the data-structure of this message
type _BACnetPropertyStates struct {
_SubType interface {
BACnetPropertyStatesContract
BACnetPropertyStatesRequirements
}
PeekedTagHeader BACnetTagHeader
}
var _ BACnetPropertyStatesContract = (*_BACnetPropertyStates)(nil)
// NewBACnetPropertyStates factory function for _BACnetPropertyStates
func NewBACnetPropertyStates(peekedTagHeader BACnetTagHeader) *_BACnetPropertyStates {
if peekedTagHeader == nil {
panic("peekedTagHeader of type BACnetTagHeader for BACnetPropertyStates must not be nil")
}
return &_BACnetPropertyStates{PeekedTagHeader: peekedTagHeader}
}
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
/////////////////////// Builder
///////////////////////
// BACnetPropertyStatesBuilder is a builder for BACnetPropertyStates
type BACnetPropertyStatesBuilder interface {
utils.Copyable
// WithMandatoryFields adds all mandatory fields (convenience for using multiple builder calls)
WithMandatoryFields(peekedTagHeader BACnetTagHeader) BACnetPropertyStatesBuilder
// WithPeekedTagHeader adds PeekedTagHeader (property field)
WithPeekedTagHeader(BACnetTagHeader) BACnetPropertyStatesBuilder
// WithPeekedTagHeaderBuilder adds PeekedTagHeader (property field) which is build by the builder
WithPeekedTagHeaderBuilder(func(BACnetTagHeaderBuilder) BACnetTagHeaderBuilder) BACnetPropertyStatesBuilder
// AsBACnetPropertyStatesBoolean converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesBoolean() BACnetPropertyStatesBooleanBuilder
// AsBACnetPropertyStatesBinaryValue converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesBinaryValue() BACnetPropertyStatesBinaryValueBuilder
// AsBACnetPropertyStatesEventType converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesEventType() BACnetPropertyStatesEventTypeBuilder
// AsBACnetPropertyStatesPolarity converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesPolarity() BACnetPropertyStatesPolarityBuilder
// AsBACnetPropertyStatesProgramChange converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesProgramChange() BACnetPropertyStatesProgramChangeBuilder
// AsBACnetPropertyStatesProgramState converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesProgramState() BACnetPropertyStatesProgramStateBuilder
// AsBACnetPropertyStatesReasonForHalt converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesReasonForHalt() BACnetPropertyStatesReasonForHaltBuilder
// AsBACnetPropertyStatesReliability converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesReliability() BACnetPropertyStatesReliabilityBuilder
// AsBACnetPropertyStatesState converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesState() BACnetPropertyStatesStateBuilder
// AsBACnetPropertyStatesSystemStatus converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesSystemStatus() BACnetPropertyStatesSystemStatusBuilder
// AsBACnetPropertyStatesUnits converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesUnits() BACnetPropertyStatesUnitsBuilder
// AsBACnetPropertyStatesUnsignedValue converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesUnsignedValue() BACnetPropertyStatesUnsignedValueBuilder
// AsBACnetPropertyStatesLifeSafetyMode converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLifeSafetyMode() BACnetPropertyStatesLifeSafetyModeBuilder
// AsBACnetPropertyStatesLifeSafetyState converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLifeSafetyState() BACnetPropertyStatesLifeSafetyStateBuilder
// AsBACnetPropertyStatesRestartReason converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesRestartReason() BACnetPropertyStatesRestartReasonBuilder
// AsBACnetPropertyStatesDoorAlarmState converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesDoorAlarmState() BACnetPropertyStatesDoorAlarmStateBuilder
// AsBACnetPropertyStatesAction converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesAction() BACnetPropertyStatesActionBuilder
// AsBACnetPropertyStatesDoorSecuredStatus converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesDoorSecuredStatus() BACnetPropertyStatesDoorSecuredStatusBuilder
// AsBACnetPropertyStatesDoorStatus converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesDoorStatus() BACnetPropertyStatesDoorStatusBuilder
// AsBACnetPropertyStatesDoorValue converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesDoorValue() BACnetPropertyStatesDoorValueBuilder
// AsBACnetPropertyStatesFileAccessMethod converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesFileAccessMethod() BACnetPropertyStatesFileAccessMethodBuilder
// AsBACnetPropertyStatesLockStatus converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLockStatus() BACnetPropertyStatesLockStatusBuilder
// AsBACnetPropertyStatesLifeSafetyOperations converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLifeSafetyOperations() BACnetPropertyStatesLifeSafetyOperationsBuilder
// AsBACnetPropertyStatesMaintenance converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesMaintenance() BACnetPropertyStatesMaintenanceBuilder
// AsBACnetPropertyStatesNodeType converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesNodeType() BACnetPropertyStatesNodeTypeBuilder
// AsBACnetPropertyStatesNotifyType converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesNotifyType() BACnetPropertyStatesNotifyTypeBuilder
// AsBACnetPropertyStatesSecurityLevel converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesSecurityLevel() BACnetPropertyStatesSecurityLevelBuilder
// AsBACnetPropertyStatesShedState converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesShedState() BACnetPropertyStatesShedStateBuilder
// AsBACnetPropertyStatesSilencedState converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesSilencedState() BACnetPropertyStatesSilencedStateBuilder
// AsBACnetPropertyStatesAccessEvent converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesAccessEvent() BACnetPropertyStatesAccessEventBuilder
// AsBACnetPropertyStatesZoneOccupanyState converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesZoneOccupanyState() BACnetPropertyStatesZoneOccupanyStateBuilder
// AsBACnetPropertyStatesAccessCredentialDisableReason converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesAccessCredentialDisableReason() BACnetPropertyStatesAccessCredentialDisableReasonBuilder
// AsBACnetPropertyStatesAccessCredentialDisable converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesAccessCredentialDisable() BACnetPropertyStatesAccessCredentialDisableBuilder
// AsBACnetPropertyStatesAuthenticationStatus converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesAuthenticationStatus() BACnetPropertyStatesAuthenticationStatusBuilder
// AsBACnetPropertyStatesBackupState converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesBackupState() BACnetPropertyStatesBackupStateBuilder
// AsBACnetPropertyStatesWriteStatus converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesWriteStatus() BACnetPropertyStatesWriteStatusBuilder
// AsBACnetPropertyStatesLightningInProgress converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLightningInProgress() BACnetPropertyStatesLightningInProgressBuilder
// AsBACnetPropertyStatesLightningOperation converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLightningOperation() BACnetPropertyStatesLightningOperationBuilder
// AsBACnetPropertyStatesLightningTransition converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLightningTransition() BACnetPropertyStatesLightningTransitionBuilder
// AsBACnetPropertyStatesIntegerValue converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesIntegerValue() BACnetPropertyStatesIntegerValueBuilder
// AsBACnetPropertyStatesBinaryLightningValue converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesBinaryLightningValue() BACnetPropertyStatesBinaryLightningValueBuilder
// AsBACnetPropertyStatesTimerState converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesTimerState() BACnetPropertyStatesTimerStateBuilder
// AsBACnetPropertyStatesTimerTransition converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesTimerTransition() BACnetPropertyStatesTimerTransitionBuilder
// AsBACnetPropertyStatesBacnetIpMode converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesBacnetIpMode() BACnetPropertyStatesBacnetIpModeBuilder
// AsBACnetPropertyStatesNetworkPortCommand converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesNetworkPortCommand() BACnetPropertyStatesNetworkPortCommandBuilder
// AsBACnetPropertyStatesNetworkType converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesNetworkType() BACnetPropertyStatesNetworkTypeBuilder
// AsBACnetPropertyStatesNetworkNumberQuality converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesNetworkNumberQuality() BACnetPropertyStatesNetworkNumberQualityBuilder
// AsBACnetPropertyStatesEscalatorOperationDirection converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesEscalatorOperationDirection() BACnetPropertyStatesEscalatorOperationDirectionBuilder
// AsBACnetPropertyStatesEscalatorFault converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesEscalatorFault() BACnetPropertyStatesEscalatorFaultBuilder
// AsBACnetPropertyStatesEscalatorMode converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesEscalatorMode() BACnetPropertyStatesEscalatorModeBuilder
// AsBACnetPropertyStatesLiftCarDirection converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLiftCarDirection() BACnetPropertyStatesLiftCarDirectionBuilder
// AsBACnetPropertyStatesLiftCarDoorCommand converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLiftCarDoorCommand() BACnetPropertyStatesLiftCarDoorCommandBuilder
// AsBACnetPropertyStatesLiftCarDriveStatus converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLiftCarDriveStatus() BACnetPropertyStatesLiftCarDriveStatusBuilder
// AsBACnetPropertyStatesLiftCarMode converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLiftCarMode() BACnetPropertyStatesLiftCarModeBuilder
// AsBACnetPropertyStatesLiftGroupMode converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLiftGroupMode() BACnetPropertyStatesLiftGroupModeBuilder
// AsBACnetPropertyStatesLiftFault converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesLiftFault() BACnetPropertyStatesLiftFaultBuilder
// AsBACnetPropertyStatesProtocolLevel converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesProtocolLevel() BACnetPropertyStatesProtocolLevelBuilder
// AsBACnetPropertyStatesExtendedValue converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStatesExtendedValue() BACnetPropertyStatesExtendedValueBuilder
// AsBACnetPropertyStateActionUnknown converts this build to a subType of BACnetPropertyStates. It is always possible to return to current builder using Done()
AsBACnetPropertyStateActionUnknown() BACnetPropertyStateActionUnknownBuilder
// Build builds the BACnetPropertyStates or returns an error if something is wrong
PartialBuild() (BACnetPropertyStatesContract, error)
// MustBuild does the same as Build but panics on error
PartialMustBuild() BACnetPropertyStatesContract
// Build builds the BACnetPropertyStates or returns an error if something is wrong
Build() (BACnetPropertyStates, error)
// MustBuild does the same as Build but panics on error
MustBuild() BACnetPropertyStates
}
// NewBACnetPropertyStatesBuilder() creates a BACnetPropertyStatesBuilder
func NewBACnetPropertyStatesBuilder() BACnetPropertyStatesBuilder {
return &_BACnetPropertyStatesBuilder{_BACnetPropertyStates: new(_BACnetPropertyStates)}
}
type _BACnetPropertyStatesChildBuilder interface {
utils.Copyable
setParent(BACnetPropertyStatesContract)
buildForBACnetPropertyStates() (BACnetPropertyStates, error)
}
type _BACnetPropertyStatesBuilder struct {
*_BACnetPropertyStates
childBuilder _BACnetPropertyStatesChildBuilder
err *utils.MultiError
}
var _ (BACnetPropertyStatesBuilder) = (*_BACnetPropertyStatesBuilder)(nil)
func (b *_BACnetPropertyStatesBuilder) WithMandatoryFields(peekedTagHeader BACnetTagHeader) BACnetPropertyStatesBuilder {
return b.WithPeekedTagHeader(peekedTagHeader)
}
func (b *_BACnetPropertyStatesBuilder) WithPeekedTagHeader(peekedTagHeader BACnetTagHeader) BACnetPropertyStatesBuilder {
b.PeekedTagHeader = peekedTagHeader
return b
}
func (b *_BACnetPropertyStatesBuilder) WithPeekedTagHeaderBuilder(builderSupplier func(BACnetTagHeaderBuilder) BACnetTagHeaderBuilder) BACnetPropertyStatesBuilder {
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 *_BACnetPropertyStatesBuilder) PartialBuild() (BACnetPropertyStatesContract, error) {
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.err != nil {
return nil, errors.Wrap(b.err, "error occurred during build")
}
return b._BACnetPropertyStates.deepCopy(), nil
}
func (b *_BACnetPropertyStatesBuilder) PartialMustBuild() BACnetPropertyStatesContract {
build, err := b.PartialBuild()
if err != nil {
panic(err)
}
return build
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesBoolean() BACnetPropertyStatesBooleanBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesBooleanBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesBooleanBuilder().(*_BACnetPropertyStatesBooleanBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesBinaryValue() BACnetPropertyStatesBinaryValueBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesBinaryValueBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesBinaryValueBuilder().(*_BACnetPropertyStatesBinaryValueBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesEventType() BACnetPropertyStatesEventTypeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesEventTypeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesEventTypeBuilder().(*_BACnetPropertyStatesEventTypeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesPolarity() BACnetPropertyStatesPolarityBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesPolarityBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesPolarityBuilder().(*_BACnetPropertyStatesPolarityBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesProgramChange() BACnetPropertyStatesProgramChangeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesProgramChangeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesProgramChangeBuilder().(*_BACnetPropertyStatesProgramChangeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesProgramState() BACnetPropertyStatesProgramStateBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesProgramStateBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesProgramStateBuilder().(*_BACnetPropertyStatesProgramStateBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesReasonForHalt() BACnetPropertyStatesReasonForHaltBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesReasonForHaltBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesReasonForHaltBuilder().(*_BACnetPropertyStatesReasonForHaltBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesReliability() BACnetPropertyStatesReliabilityBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesReliabilityBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesReliabilityBuilder().(*_BACnetPropertyStatesReliabilityBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesState() BACnetPropertyStatesStateBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesStateBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesStateBuilder().(*_BACnetPropertyStatesStateBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesSystemStatus() BACnetPropertyStatesSystemStatusBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesSystemStatusBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesSystemStatusBuilder().(*_BACnetPropertyStatesSystemStatusBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesUnits() BACnetPropertyStatesUnitsBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesUnitsBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesUnitsBuilder().(*_BACnetPropertyStatesUnitsBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesUnsignedValue() BACnetPropertyStatesUnsignedValueBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesUnsignedValueBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesUnsignedValueBuilder().(*_BACnetPropertyStatesUnsignedValueBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLifeSafetyMode() BACnetPropertyStatesLifeSafetyModeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLifeSafetyModeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLifeSafetyModeBuilder().(*_BACnetPropertyStatesLifeSafetyModeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLifeSafetyState() BACnetPropertyStatesLifeSafetyStateBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLifeSafetyStateBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLifeSafetyStateBuilder().(*_BACnetPropertyStatesLifeSafetyStateBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesRestartReason() BACnetPropertyStatesRestartReasonBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesRestartReasonBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesRestartReasonBuilder().(*_BACnetPropertyStatesRestartReasonBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesDoorAlarmState() BACnetPropertyStatesDoorAlarmStateBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesDoorAlarmStateBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesDoorAlarmStateBuilder().(*_BACnetPropertyStatesDoorAlarmStateBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesAction() BACnetPropertyStatesActionBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesActionBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesActionBuilder().(*_BACnetPropertyStatesActionBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesDoorSecuredStatus() BACnetPropertyStatesDoorSecuredStatusBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesDoorSecuredStatusBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesDoorSecuredStatusBuilder().(*_BACnetPropertyStatesDoorSecuredStatusBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesDoorStatus() BACnetPropertyStatesDoorStatusBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesDoorStatusBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesDoorStatusBuilder().(*_BACnetPropertyStatesDoorStatusBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesDoorValue() BACnetPropertyStatesDoorValueBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesDoorValueBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesDoorValueBuilder().(*_BACnetPropertyStatesDoorValueBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesFileAccessMethod() BACnetPropertyStatesFileAccessMethodBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesFileAccessMethodBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesFileAccessMethodBuilder().(*_BACnetPropertyStatesFileAccessMethodBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLockStatus() BACnetPropertyStatesLockStatusBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLockStatusBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLockStatusBuilder().(*_BACnetPropertyStatesLockStatusBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLifeSafetyOperations() BACnetPropertyStatesLifeSafetyOperationsBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLifeSafetyOperationsBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLifeSafetyOperationsBuilder().(*_BACnetPropertyStatesLifeSafetyOperationsBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesMaintenance() BACnetPropertyStatesMaintenanceBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesMaintenanceBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesMaintenanceBuilder().(*_BACnetPropertyStatesMaintenanceBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesNodeType() BACnetPropertyStatesNodeTypeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesNodeTypeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesNodeTypeBuilder().(*_BACnetPropertyStatesNodeTypeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesNotifyType() BACnetPropertyStatesNotifyTypeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesNotifyTypeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesNotifyTypeBuilder().(*_BACnetPropertyStatesNotifyTypeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesSecurityLevel() BACnetPropertyStatesSecurityLevelBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesSecurityLevelBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesSecurityLevelBuilder().(*_BACnetPropertyStatesSecurityLevelBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesShedState() BACnetPropertyStatesShedStateBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesShedStateBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesShedStateBuilder().(*_BACnetPropertyStatesShedStateBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesSilencedState() BACnetPropertyStatesSilencedStateBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesSilencedStateBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesSilencedStateBuilder().(*_BACnetPropertyStatesSilencedStateBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesAccessEvent() BACnetPropertyStatesAccessEventBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesAccessEventBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesAccessEventBuilder().(*_BACnetPropertyStatesAccessEventBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesZoneOccupanyState() BACnetPropertyStatesZoneOccupanyStateBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesZoneOccupanyStateBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesZoneOccupanyStateBuilder().(*_BACnetPropertyStatesZoneOccupanyStateBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesAccessCredentialDisableReason() BACnetPropertyStatesAccessCredentialDisableReasonBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesAccessCredentialDisableReasonBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesAccessCredentialDisableReasonBuilder().(*_BACnetPropertyStatesAccessCredentialDisableReasonBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesAccessCredentialDisable() BACnetPropertyStatesAccessCredentialDisableBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesAccessCredentialDisableBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesAccessCredentialDisableBuilder().(*_BACnetPropertyStatesAccessCredentialDisableBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesAuthenticationStatus() BACnetPropertyStatesAuthenticationStatusBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesAuthenticationStatusBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesAuthenticationStatusBuilder().(*_BACnetPropertyStatesAuthenticationStatusBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesBackupState() BACnetPropertyStatesBackupStateBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesBackupStateBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesBackupStateBuilder().(*_BACnetPropertyStatesBackupStateBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesWriteStatus() BACnetPropertyStatesWriteStatusBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesWriteStatusBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesWriteStatusBuilder().(*_BACnetPropertyStatesWriteStatusBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLightningInProgress() BACnetPropertyStatesLightningInProgressBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLightningInProgressBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLightningInProgressBuilder().(*_BACnetPropertyStatesLightningInProgressBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLightningOperation() BACnetPropertyStatesLightningOperationBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLightningOperationBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLightningOperationBuilder().(*_BACnetPropertyStatesLightningOperationBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLightningTransition() BACnetPropertyStatesLightningTransitionBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLightningTransitionBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLightningTransitionBuilder().(*_BACnetPropertyStatesLightningTransitionBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesIntegerValue() BACnetPropertyStatesIntegerValueBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesIntegerValueBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesIntegerValueBuilder().(*_BACnetPropertyStatesIntegerValueBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesBinaryLightningValue() BACnetPropertyStatesBinaryLightningValueBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesBinaryLightningValueBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesBinaryLightningValueBuilder().(*_BACnetPropertyStatesBinaryLightningValueBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesTimerState() BACnetPropertyStatesTimerStateBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesTimerStateBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesTimerStateBuilder().(*_BACnetPropertyStatesTimerStateBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesTimerTransition() BACnetPropertyStatesTimerTransitionBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesTimerTransitionBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesTimerTransitionBuilder().(*_BACnetPropertyStatesTimerTransitionBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesBacnetIpMode() BACnetPropertyStatesBacnetIpModeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesBacnetIpModeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesBacnetIpModeBuilder().(*_BACnetPropertyStatesBacnetIpModeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesNetworkPortCommand() BACnetPropertyStatesNetworkPortCommandBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesNetworkPortCommandBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesNetworkPortCommandBuilder().(*_BACnetPropertyStatesNetworkPortCommandBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesNetworkType() BACnetPropertyStatesNetworkTypeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesNetworkTypeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesNetworkTypeBuilder().(*_BACnetPropertyStatesNetworkTypeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesNetworkNumberQuality() BACnetPropertyStatesNetworkNumberQualityBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesNetworkNumberQualityBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesNetworkNumberQualityBuilder().(*_BACnetPropertyStatesNetworkNumberQualityBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesEscalatorOperationDirection() BACnetPropertyStatesEscalatorOperationDirectionBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesEscalatorOperationDirectionBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesEscalatorOperationDirectionBuilder().(*_BACnetPropertyStatesEscalatorOperationDirectionBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesEscalatorFault() BACnetPropertyStatesEscalatorFaultBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesEscalatorFaultBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesEscalatorFaultBuilder().(*_BACnetPropertyStatesEscalatorFaultBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesEscalatorMode() BACnetPropertyStatesEscalatorModeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesEscalatorModeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesEscalatorModeBuilder().(*_BACnetPropertyStatesEscalatorModeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLiftCarDirection() BACnetPropertyStatesLiftCarDirectionBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLiftCarDirectionBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLiftCarDirectionBuilder().(*_BACnetPropertyStatesLiftCarDirectionBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLiftCarDoorCommand() BACnetPropertyStatesLiftCarDoorCommandBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLiftCarDoorCommandBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLiftCarDoorCommandBuilder().(*_BACnetPropertyStatesLiftCarDoorCommandBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLiftCarDriveStatus() BACnetPropertyStatesLiftCarDriveStatusBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLiftCarDriveStatusBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLiftCarDriveStatusBuilder().(*_BACnetPropertyStatesLiftCarDriveStatusBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLiftCarMode() BACnetPropertyStatesLiftCarModeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLiftCarModeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLiftCarModeBuilder().(*_BACnetPropertyStatesLiftCarModeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLiftGroupMode() BACnetPropertyStatesLiftGroupModeBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLiftGroupModeBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLiftGroupModeBuilder().(*_BACnetPropertyStatesLiftGroupModeBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesLiftFault() BACnetPropertyStatesLiftFaultBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesLiftFaultBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesLiftFaultBuilder().(*_BACnetPropertyStatesLiftFaultBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesProtocolLevel() BACnetPropertyStatesProtocolLevelBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesProtocolLevelBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesProtocolLevelBuilder().(*_BACnetPropertyStatesProtocolLevelBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStatesExtendedValue() BACnetPropertyStatesExtendedValueBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStatesExtendedValueBuilder); ok {
return cb
}
cb := NewBACnetPropertyStatesExtendedValueBuilder().(*_BACnetPropertyStatesExtendedValueBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) AsBACnetPropertyStateActionUnknown() BACnetPropertyStateActionUnknownBuilder {
if cb, ok := b.childBuilder.(BACnetPropertyStateActionUnknownBuilder); ok {
return cb
}
cb := NewBACnetPropertyStateActionUnknownBuilder().(*_BACnetPropertyStateActionUnknownBuilder)
cb.parentBuilder = b
b.childBuilder = cb
return cb
}
func (b *_BACnetPropertyStatesBuilder) Build() (BACnetPropertyStates, error) {
v, err := b.PartialBuild()
if err != nil {
return nil, errors.Wrap(err, "error occurred during partial build")
}
if b.childBuilder == nil {
return nil, errors.New("no child builder present")
}
b.childBuilder.setParent(v)
return b.childBuilder.buildForBACnetPropertyStates()
}
func (b *_BACnetPropertyStatesBuilder) MustBuild() BACnetPropertyStates {
build, err := b.Build()
if err != nil {
panic(err)
}
return build
}
func (b *_BACnetPropertyStatesBuilder) DeepCopy() any {
_copy := b.CreateBACnetPropertyStatesBuilder().(*_BACnetPropertyStatesBuilder)
_copy.childBuilder = b.childBuilder.DeepCopy().(_BACnetPropertyStatesChildBuilder)
_copy.childBuilder.setParent(_copy)
if b.err != nil {
_copy.err = b.err.DeepCopy().(*utils.MultiError)
}
return _copy
}
// CreateBACnetPropertyStatesBuilder creates a BACnetPropertyStatesBuilder
func (b *_BACnetPropertyStates) CreateBACnetPropertyStatesBuilder() BACnetPropertyStatesBuilder {
if b == nil {
return NewBACnetPropertyStatesBuilder()
}
return &_BACnetPropertyStatesBuilder{_BACnetPropertyStates: b.deepCopy()}
}
///////////////////////
///////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
/////////////////////// Accessors for property fields.
///////////////////////
func (m *_BACnetPropertyStates) GetPeekedTagHeader() BACnetTagHeader {
return m.PeekedTagHeader
}
///////////////////////
///////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
/////////////////////// Accessors for virtual fields.
///////////////////////
func (pm *_BACnetPropertyStates) GetPeekedTagNumber() uint8 {
m := pm._SubType
ctx := context.Background()
_ = ctx
return uint8(m.GetPeekedTagHeader().GetActualTagNumber())
}
///////////////////////
///////////////////////
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Deprecated: use the interface for direct cast
func CastBACnetPropertyStates(structType any) BACnetPropertyStates {
if casted, ok := structType.(BACnetPropertyStates); ok {
return casted
}
if casted, ok := structType.(*BACnetPropertyStates); ok {
return *casted
}
return nil
}
func (m *_BACnetPropertyStates) GetTypeName() string {
return "BACnetPropertyStates"
}
func (m *_BACnetPropertyStates) getLengthInBits(ctx context.Context) uint16 {
lengthInBits := uint16(0)
// A virtual field doesn't have any in- or output.
return lengthInBits
}
func (m *_BACnetPropertyStates) GetLengthInBits(ctx context.Context) uint16 {
return m._SubType.GetLengthInBits(ctx)
}
func (m *_BACnetPropertyStates) GetLengthInBytes(ctx context.Context) uint16 {
return m._SubType.GetLengthInBits(ctx) / 8
}
func BACnetPropertyStatesParse[T BACnetPropertyStates](ctx context.Context, theBytes []byte) (T, error) {
return BACnetPropertyStatesParseWithBuffer[T](ctx, utils.NewReadBufferByteBased(theBytes))
}
func BACnetPropertyStatesParseWithBufferProducer[T BACnetPropertyStates]() func(ctx context.Context, readBuffer utils.ReadBuffer) (T, error) {
return func(ctx context.Context, readBuffer utils.ReadBuffer) (T, error) {
v, err := BACnetPropertyStatesParseWithBuffer[T](ctx, readBuffer)
if err != nil {
var zero T
return zero, err
}
return v, nil
}
}
func BACnetPropertyStatesParseWithBuffer[T BACnetPropertyStates](ctx context.Context, readBuffer utils.ReadBuffer) (T, error) {
v, err := (&_BACnetPropertyStates{}).parse(ctx, readBuffer)
if err != nil {
var zero T
return zero, err
}
vc, ok := v.(T)
if !ok {
var zero T
return zero, errors.Errorf("Unexpected type %T. Expected type %T", v, *new(T))
}
return vc, nil
}
func (m *_BACnetPropertyStates) parse(ctx context.Context, readBuffer utils.ReadBuffer) (__bACnetPropertyStates BACnetPropertyStates, err error) {
positionAware := readBuffer
_ = positionAware
if pullErr := readBuffer.PullContext("BACnetPropertyStates"); pullErr != nil {
return nil, errors.Wrap(pullErr, "Error pulling for BACnetPropertyStates")
}
currentPos := positionAware.GetPos()
_ = currentPos
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
// Switch Field (Depending on the discriminator values, passes the instantiation to a sub-type)
var _child BACnetPropertyStates
switch {
case peekedTagNumber == uint8(0): // BACnetPropertyStatesBoolean
if _child, err = new(_BACnetPropertyStatesBoolean).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesBoolean for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(1): // BACnetPropertyStatesBinaryValue
if _child, err = new(_BACnetPropertyStatesBinaryValue).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesBinaryValue for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(2): // BACnetPropertyStatesEventType
if _child, err = new(_BACnetPropertyStatesEventType).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesEventType for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(3): // BACnetPropertyStatesPolarity
if _child, err = new(_BACnetPropertyStatesPolarity).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesPolarity for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(4): // BACnetPropertyStatesProgramChange
if _child, err = new(_BACnetPropertyStatesProgramChange).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesProgramChange for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(5): // BACnetPropertyStatesProgramState
if _child, err = new(_BACnetPropertyStatesProgramState).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesProgramState for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(6): // BACnetPropertyStatesReasonForHalt
if _child, err = new(_BACnetPropertyStatesReasonForHalt).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesReasonForHalt for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(7): // BACnetPropertyStatesReliability
if _child, err = new(_BACnetPropertyStatesReliability).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesReliability for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(8): // BACnetPropertyStatesState
if _child, err = new(_BACnetPropertyStatesState).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesState for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(9): // BACnetPropertyStatesSystemStatus
if _child, err = new(_BACnetPropertyStatesSystemStatus).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesSystemStatus for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(10): // BACnetPropertyStatesUnits
if _child, err = new(_BACnetPropertyStatesUnits).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesUnits for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(11): // BACnetPropertyStatesUnsignedValue
if _child, err = new(_BACnetPropertyStatesUnsignedValue).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesUnsignedValue for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(12): // BACnetPropertyStatesLifeSafetyMode
if _child, err = new(_BACnetPropertyStatesLifeSafetyMode).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLifeSafetyMode for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(13): // BACnetPropertyStatesLifeSafetyState
if _child, err = new(_BACnetPropertyStatesLifeSafetyState).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLifeSafetyState for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(14): // BACnetPropertyStatesRestartReason
if _child, err = new(_BACnetPropertyStatesRestartReason).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesRestartReason for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(15): // BACnetPropertyStatesDoorAlarmState
if _child, err = new(_BACnetPropertyStatesDoorAlarmState).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesDoorAlarmState for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(16): // BACnetPropertyStatesAction
if _child, err = new(_BACnetPropertyStatesAction).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesAction for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(17): // BACnetPropertyStatesDoorSecuredStatus
if _child, err = new(_BACnetPropertyStatesDoorSecuredStatus).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesDoorSecuredStatus for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(18): // BACnetPropertyStatesDoorStatus
if _child, err = new(_BACnetPropertyStatesDoorStatus).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesDoorStatus for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(19): // BACnetPropertyStatesDoorValue
if _child, err = new(_BACnetPropertyStatesDoorValue).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesDoorValue for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(20): // BACnetPropertyStatesFileAccessMethod
if _child, err = new(_BACnetPropertyStatesFileAccessMethod).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesFileAccessMethod for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(21): // BACnetPropertyStatesLockStatus
if _child, err = new(_BACnetPropertyStatesLockStatus).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLockStatus for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(22): // BACnetPropertyStatesLifeSafetyOperations
if _child, err = new(_BACnetPropertyStatesLifeSafetyOperations).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLifeSafetyOperations for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(23): // BACnetPropertyStatesMaintenance
if _child, err = new(_BACnetPropertyStatesMaintenance).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesMaintenance for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(24): // BACnetPropertyStatesNodeType
if _child, err = new(_BACnetPropertyStatesNodeType).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesNodeType for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(25): // BACnetPropertyStatesNotifyType
if _child, err = new(_BACnetPropertyStatesNotifyType).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesNotifyType for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(26): // BACnetPropertyStatesSecurityLevel
if _child, err = new(_BACnetPropertyStatesSecurityLevel).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesSecurityLevel for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(27): // BACnetPropertyStatesShedState
if _child, err = new(_BACnetPropertyStatesShedState).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesShedState for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(28): // BACnetPropertyStatesSilencedState
if _child, err = new(_BACnetPropertyStatesSilencedState).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesSilencedState for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(30): // BACnetPropertyStatesAccessEvent
if _child, err = new(_BACnetPropertyStatesAccessEvent).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesAccessEvent for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(31): // BACnetPropertyStatesZoneOccupanyState
if _child, err = new(_BACnetPropertyStatesZoneOccupanyState).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesZoneOccupanyState for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(32): // BACnetPropertyStatesAccessCredentialDisableReason
if _child, err = new(_BACnetPropertyStatesAccessCredentialDisableReason).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesAccessCredentialDisableReason for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(33): // BACnetPropertyStatesAccessCredentialDisable
if _child, err = new(_BACnetPropertyStatesAccessCredentialDisable).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesAccessCredentialDisable for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(34): // BACnetPropertyStatesAuthenticationStatus
if _child, err = new(_BACnetPropertyStatesAuthenticationStatus).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesAuthenticationStatus for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(36): // BACnetPropertyStatesBackupState
if _child, err = new(_BACnetPropertyStatesBackupState).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesBackupState for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(37): // BACnetPropertyStatesWriteStatus
if _child, err = new(_BACnetPropertyStatesWriteStatus).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesWriteStatus for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(38): // BACnetPropertyStatesLightningInProgress
if _child, err = new(_BACnetPropertyStatesLightningInProgress).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLightningInProgress for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(39): // BACnetPropertyStatesLightningOperation
if _child, err = new(_BACnetPropertyStatesLightningOperation).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLightningOperation for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(40): // BACnetPropertyStatesLightningTransition
if _child, err = new(_BACnetPropertyStatesLightningTransition).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLightningTransition for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(41): // BACnetPropertyStatesIntegerValue
if _child, err = new(_BACnetPropertyStatesIntegerValue).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesIntegerValue for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(42): // BACnetPropertyStatesBinaryLightningValue
if _child, err = new(_BACnetPropertyStatesBinaryLightningValue).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesBinaryLightningValue for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(43): // BACnetPropertyStatesTimerState
if _child, err = new(_BACnetPropertyStatesTimerState).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesTimerState for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(44): // BACnetPropertyStatesTimerTransition
if _child, err = new(_BACnetPropertyStatesTimerTransition).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesTimerTransition for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(45): // BACnetPropertyStatesBacnetIpMode
if _child, err = new(_BACnetPropertyStatesBacnetIpMode).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesBacnetIpMode for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(46): // BACnetPropertyStatesNetworkPortCommand
if _child, err = new(_BACnetPropertyStatesNetworkPortCommand).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesNetworkPortCommand for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(47): // BACnetPropertyStatesNetworkType
if _child, err = new(_BACnetPropertyStatesNetworkType).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesNetworkType for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(48): // BACnetPropertyStatesNetworkNumberQuality
if _child, err = new(_BACnetPropertyStatesNetworkNumberQuality).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesNetworkNumberQuality for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(49): // BACnetPropertyStatesEscalatorOperationDirection
if _child, err = new(_BACnetPropertyStatesEscalatorOperationDirection).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesEscalatorOperationDirection for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(50): // BACnetPropertyStatesEscalatorFault
if _child, err = new(_BACnetPropertyStatesEscalatorFault).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesEscalatorFault for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(51): // BACnetPropertyStatesEscalatorMode
if _child, err = new(_BACnetPropertyStatesEscalatorMode).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesEscalatorMode for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(52): // BACnetPropertyStatesLiftCarDirection
if _child, err = new(_BACnetPropertyStatesLiftCarDirection).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLiftCarDirection for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(53): // BACnetPropertyStatesLiftCarDoorCommand
if _child, err = new(_BACnetPropertyStatesLiftCarDoorCommand).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLiftCarDoorCommand for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(54): // BACnetPropertyStatesLiftCarDriveStatus
if _child, err = new(_BACnetPropertyStatesLiftCarDriveStatus).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLiftCarDriveStatus for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(55): // BACnetPropertyStatesLiftCarMode
if _child, err = new(_BACnetPropertyStatesLiftCarMode).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLiftCarMode for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(56): // BACnetPropertyStatesLiftGroupMode
if _child, err = new(_BACnetPropertyStatesLiftGroupMode).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLiftGroupMode for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(57): // BACnetPropertyStatesLiftFault
if _child, err = new(_BACnetPropertyStatesLiftFault).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesLiftFault for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(58): // BACnetPropertyStatesProtocolLevel
if _child, err = new(_BACnetPropertyStatesProtocolLevel).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesProtocolLevel for type-switch of BACnetPropertyStates")
}
case peekedTagNumber == uint8(63): // BACnetPropertyStatesExtendedValue
if _child, err = new(_BACnetPropertyStatesExtendedValue).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStatesExtendedValue for type-switch of BACnetPropertyStates")
}
case true: // BACnetPropertyStateActionUnknown
if _child, err = new(_BACnetPropertyStateActionUnknown).parse(ctx, readBuffer, m, peekedTagNumber); err != nil {
return nil, errors.Wrap(err, "Error parsing sub-type BACnetPropertyStateActionUnknown for type-switch of BACnetPropertyStates")
}
default:
return nil, errors.Errorf("Unmapped type for parameters [peekedTagNumber=%v]", peekedTagNumber)
}
if closeErr := readBuffer.CloseContext("BACnetPropertyStates"); closeErr != nil {
return nil, errors.Wrap(closeErr, "Error closing for BACnetPropertyStates")
}
return _child, nil
}
func (pm *_BACnetPropertyStates) serializeParent(ctx context.Context, writeBuffer utils.WriteBuffer, child BACnetPropertyStates, serializeChildFunction func() error) error {
// We redirect all calls through client as some methods are only implemented there
m := child
_ = m
positionAware := writeBuffer
_ = positionAware
log := zerolog.Ctx(ctx)
_ = log
if pushErr := writeBuffer.PushContext("BACnetPropertyStates"); pushErr != nil {
return errors.Wrap(pushErr, "Error pushing for BACnetPropertyStates")
}
// Virtual field
peekedTagNumber := m.GetPeekedTagNumber()
_ = peekedTagNumber
if _peekedTagNumberErr := writeBuffer.WriteVirtual(ctx, "peekedTagNumber", m.GetPeekedTagNumber()); _peekedTagNumberErr != nil {
return errors.Wrap(_peekedTagNumberErr, "Error serializing 'peekedTagNumber' field")
}
// Switch field (Depending on the discriminator values, passes the serialization to a sub-type)
if _typeSwitchErr := serializeChildFunction(); _typeSwitchErr != nil {
return errors.Wrap(_typeSwitchErr, "Error serializing sub-type field")
}
if popErr := writeBuffer.PopContext("BACnetPropertyStates"); popErr != nil {
return errors.Wrap(popErr, "Error popping for BACnetPropertyStates")
}
return nil
}
func (m *_BACnetPropertyStates) IsBACnetPropertyStates() {}
func (m *_BACnetPropertyStates) DeepCopy() any {
return m.deepCopy()
}
func (m *_BACnetPropertyStates) deepCopy() *_BACnetPropertyStates {
if m == nil {
return nil
}
_BACnetPropertyStatesCopy := &_BACnetPropertyStates{
nil, // will be set by child
utils.DeepCopy[BACnetTagHeader](m.PeekedTagHeader),
}
return _BACnetPropertyStatesCopy
}