
//
// This file was generated by the BinaryNotes compiler.
// See http://bnotes.sourceforge.net 
// Any modifications to this file will be lost upon recompilation of the source ASN.1. 
//

using System;
using org.bn.attributes;
using org.bn.attributes.constraints;
using org.bn.coders;
using org.bn.types;
using org.bn;

namespace MMS_ASN1_Model {


    [ASN1PreparedElement]
    [ASN1Sequence ( Name = "DefineNamedVariable_Request", IsSet = false  )]
    public class DefineNamedVariable_Request : IASN1PreparedElement {
                    
	private ObjectName variableName_ ;
	
        [ASN1Element ( Name = "variableName", IsOptional =  false , HasTag =  true, Tag = 0 , HasDefaultValue =  false )  ]
    
        public ObjectName VariableName
        {
            get { return variableName_; }
            set { variableName_ = value;  }
        }
        
                
          
	private Address address_ ;
	
        [ASN1Element ( Name = "address", IsOptional =  false , HasTag =  true, Tag = 1 , HasDefaultValue =  false )  ]
    
        public Address Address
        {
            get { return address_; }
            set { address_ = value;  }
        }
        
                
          
	private TypeSpecification typeSpecification_ ;
	
        private bool  typeSpecification_present = false ;
	
        [ASN1Element ( Name = "typeSpecification", IsOptional =  true , HasTag =  true, Tag = 2 , HasDefaultValue =  false )  ]
    
        public TypeSpecification TypeSpecification
        {
            get { return typeSpecification_; }
            set { typeSpecification_ = value; typeSpecification_present = true;  }
        }
        
                
  
        public bool isTypeSpecificationPresent () {
            return this.typeSpecification_present == true;
        }
        

            public void initWithDefaults() {
            	
            }


            private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(typeof(DefineNamedVariable_Request));
            public IASN1PreparedElementData PreparedData {
            	get { return preparedData; }
            }

            
    }
            
}
