Liquid XML Data Binder 2019
GBR_Address.vb
Option Explicit On
Option Strict On

Imports System
Imports System.Xml

'**********************************************************************************************
'* Copyright (c) 2001-2019 Liquid Technologies Limited. All rights reserved.
'* See www.liquid-technologies.com for product details.
'*
'* Please see products End User License Agreement for distribution permissions.
'*
'* WARNING: THIS FILE IS GENERATED
'* Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten
'*
'* Generation  :  by Liquid XML Data Binder 17.0.1.9233
'* Using Schema: DerivedByExtension.xsd
'**********************************************************************************************

Namespace DerivedByExtensionLib

    ''' <summary>
    ''' This class represents the ComplexType GBR_Address
    ''' </summary>
    <LiquidTechnologies.Runtime.Net45.XmlObjectInfo(LiquidTechnologies.Runtime.Net45.XmlObjectBase.XmlElementGroupType.Sequence, _
                                                    LiquidTechnologies.Runtime.Net45.XmlObjectBase.XmlElementType.Element, _
                                                    "GBR_Address", "", true, true, false)> _
    Public Partial Class GBR_Address
        Inherits DerivedByExtensionLib.XmlCommonBase
        Implements DerivedByExtensionLib.IAddress

        #Region "Constructors"
        ''' <summary>
        '''    Constructor for GBR_Address
        ''' </summary>
        ''' <remarks>
        '''    The class is created with all the mandatory fields populated with the
        '''    default data. 
        '''    All Collection object are created.
        '''    However any 1-n relationships (these are represented as collections) are
        '''    empty. To comply with the schema these must be populated before the xml
        '''    obtained from ToXml is valid against the schema DerivedByExtension.xsd
        ''' </remarks>
        Public Sub New()
            _elementName = "GBR_Address"
            Init()
        End Sub
        
        Public Sub New(ByVal elementName As String)
            _elementName = elementName
            Init()
        End Sub
        #End Region

        #Region "Initialization methods for the class"
        ''' <summary>
        '''    Initializes the class
        ''' </summary>
        ''' <remarks>
        '''    This creates all the mandatory fields (populated with the default data) 
        '''    All Collection object are created.
        '''    However any 1-n relationships (these are represented as collections) are
        '''    empty. To comply with the schema these must be populated before the xml
        '''    obtained from ToXml is valid against the schema DerivedByExtension.xsd.
        ''' </remarks>
        Protected Overrides Sub Init()
            DerivedByExtensionLib.Registration.iRegistrationIndicator = 0 ' causes registration to take place
            _Name = ""
            _Street = ""
            _City = ""
            _County = ""
            _PostCode = ""

' ##HAND_CODED_BLOCK_START ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS

' Add Additional initialization code here...

' ##HAND_CODED_BLOCK_END ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
        End Sub

        #End Region

        #Region "ICloneable Interface"
        ''' <summary>
        '''    Allows the class to be copied
        ''' </summary>
        ''' <remarks>
        '''    Performs a 'deep copy' of all the data in the class (and its children)
        ''' </remarks>
        Public Overrides Function Clone() As Object
            Dim newObject As New DerivedByExtensionLib.GBR_Address(_elementName)
            Dim o As Object
            newObject._Name = _Name
            newObject._Street = _Street
            newObject._City = _City
            newObject._County = _County
            newObject._PostCode = _PostCode

            o = Nothing

' ##HAND_CODED_BLOCK_START ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS

' Add Additional clone code here...

' ##HAND_CODED_BLOCK_END ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS

            Return newObject
        End Function
        #End Region

        #Region "Member variables"

        Protected Overrides Readonly Property TargetNamespace() As String
            Get 
                Return ""
            End Get
        End Property

        #Region "Attribute - Name"
        ''' <summary>
        ''' Represents a mandatory Element in the XML document
        ''' </summary>
        ''' <remarks>
        ''' This property is represented as an Element in the XML.
        ''' It is mandatory and therefore must be populated within the XML.
        ''' It is defaulted to "".
        ''' </remarks>
        <LiquidTechnologies.Runtime.Net45.ElementInfoSeqPrimMnd("Name", "", Nothing, LiquidTechnologies.Runtime.Net45.Conversions.ConversionType.type_string, Nothing, LiquidTechnologies.Runtime.Net45.WhitespaceUtils.WhitespaceRule.Preserve, "", -1, -1, "", "", "", "", -1, -1, -1, Nothing)> _
        Public Property Name() As String Implements DerivedByExtensionLib.IAddress.Name
            Get 
                Return _Name
            End Get
            Set(ByVal value As String)
                ' Apply whitespace rules appropriately
                value = LiquidTechnologies.Runtime.Net45.WhitespaceUtils.Preserve(value) 
                _Name = value 
            End Set
        End Property
        Protected _Name As String

        #End Region
    
        #Region "Attribute - Street"
        ''' <summary>
        ''' Represents a mandatory Element in the XML document
        ''' </summary>
        ''' <remarks>
        ''' This property is represented as an Element in the XML.
        ''' It is mandatory and therefore must be populated within the XML.
        ''' It is defaulted to "".
        ''' </remarks>
        <LiquidTechnologies.Runtime.Net45.ElementInfoSeqPrimMnd("Street", "", Nothing, LiquidTechnologies.Runtime.Net45.Conversions.ConversionType.type_string, Nothing, LiquidTechnologies.Runtime.Net45.WhitespaceUtils.WhitespaceRule.Preserve, "", -1, -1, "", "", "", "", -1, -1, -1, Nothing)> _
        Public Property Street() As String Implements DerivedByExtensionLib.IAddress.Street
            Get 
                Return _Street
            End Get
            Set(ByVal value As String)
                ' Apply whitespace rules appropriately
                value = LiquidTechnologies.Runtime.Net45.WhitespaceUtils.Preserve(value) 
                _Street = value 
            End Set
        End Property
        Protected _Street As String

        #End Region
    
        #Region "Attribute - City"
        ''' <summary>
        ''' Represents a mandatory Element in the XML document
        ''' </summary>
        ''' <remarks>
        ''' This property is represented as an Element in the XML.
        ''' It is mandatory and therefore must be populated within the XML.
        ''' It is defaulted to "".
        ''' </remarks>
        <LiquidTechnologies.Runtime.Net45.ElementInfoSeqPrimMnd("City", "", Nothing, LiquidTechnologies.Runtime.Net45.Conversions.ConversionType.type_string, Nothing, LiquidTechnologies.Runtime.Net45.WhitespaceUtils.WhitespaceRule.Preserve, "", -1, -1, "", "", "", "", -1, -1, -1, Nothing)> _
        Public Property City() As String Implements DerivedByExtensionLib.IAddress.City
            Get 
                Return _City
            End Get
            Set(ByVal value As String)
                ' Apply whitespace rules appropriately
                value = LiquidTechnologies.Runtime.Net45.WhitespaceUtils.Preserve(value) 
                _City = value 
            End Set
        End Property
        Protected _City As String

        #End Region
    
        #Region "Attribute - County"
        ''' <summary>
        ''' Represents a mandatory Element in the XML document
        ''' </summary>
        ''' <remarks>
        ''' This property is represented as an Element in the XML.
        ''' It is mandatory and therefore must be populated within the XML.
        ''' It is defaulted to "".
        ''' </remarks>
        <LiquidTechnologies.Runtime.Net45.ElementInfoSeqPrimMnd("County", "", Nothing, LiquidTechnologies.Runtime.Net45.Conversions.ConversionType.type_string, Nothing, LiquidTechnologies.Runtime.Net45.WhitespaceUtils.WhitespaceRule.Preserve, "", -1, -1, "", "", "", "", -1, -1, -1, Nothing)> _
        Public Property County() As String
            Get 
                Return _County
            End Get
            Set(ByVal value As String)
                ' Apply whitespace rules appropriately
                value = LiquidTechnologies.Runtime.Net45.WhitespaceUtils.Preserve(value) 
                _County = value 
            End Set
        End Property
        Protected _County As String

        #End Region
    
        #Region "Attribute - PostCode"
        ''' <summary>
        ''' Represents a mandatory Element in the XML document
        ''' </summary>
        ''' <remarks>
        ''' This property is represented as an Element in the XML.
        ''' It is mandatory and therefore must be populated within the XML.
        ''' It is defaulted to "".
        ''' </remarks>
        <LiquidTechnologies.Runtime.Net45.ElementInfoSeqPrimMnd("PostCode", "", Nothing, LiquidTechnologies.Runtime.Net45.Conversions.ConversionType.type_string, Nothing, LiquidTechnologies.Runtime.Net45.WhitespaceUtils.WhitespaceRule.Preserve, "", -1, -1, "", "", "", "", -1, -1, -1, Nothing)> _
        Public Property PostCode() As String
            Get 
                Return _PostCode
            End Get
            Set(ByVal value As String)
                ' Apply whitespace rules appropriately
                value = LiquidTechnologies.Runtime.Net45.WhitespaceUtils.Preserve(value) 
                _PostCode = value 
            End Set
        End Property
        Protected _PostCode As String

        #End Region
    
        #Region "Attribute - Namespace"
        Public Overrides Readonly Property [Namespace]() As String
            Get 
                Return ""
            End Get
        End Property
        #End Region

        #Region "Attribute - GetBase"
        Public Overrides Function GetBase() As LiquidTechnologies.Runtime.Net45.XmlObjectBase
            Return Me
        End Function
        #End Region
        #End Region


' ##HAND_CODED_BLOCK_START ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS

' Add Additional Methods and members here...

' ##HAND_CODED_BLOCK_END ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
    End Class
End Namespace