
package pokerth_protocol;
//
// 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. 
//

import org.bn.*;
import org.bn.annotations.*;
import org.bn.annotations.constraints.*;
import org.bn.coders.*;
import org.bn.types.*;




    @ASN1PreparedElement
    @ASN1BoxedType ( name = "AvatarReplyMessage" )
    public class AvatarReplyMessage implements IASN1PreparedElement {
                
        

       @ASN1PreparedElement
       @ASN1Sequence ( name = "AvatarReplyMessage" , isSet = false )
       public static class AvatarReplyMessageSequenceType implements IASN1PreparedElement {
                
        @ASN1Element ( name = "requestId", isOptional =  false , hasTag =  false  , hasDefaultValue =  false  )
    
	private NonZeroId requestId = null;
                
  
        
    @ASN1PreparedElement
    @ASN1Choice ( name = "avatarResult" )
    public static class AvatarResultChoiceType implements IASN1PreparedElement {
            
        @ASN1Element ( name = "avatarHeader", isOptional =  false , hasTag =  true, tag = 0 , hasDefaultValue =  false  )
    
	private AvatarHeader avatarHeader = null;
                
  
        @ASN1Element ( name = "avatarData", isOptional =  false , hasTag =  true, tag = 1 , hasDefaultValue =  false  )
    
	private AvatarData avatarData = null;
                
  
        @ASN1Element ( name = "avatarEnd", isOptional =  false , hasTag =  true, tag = 2 , hasDefaultValue =  false  )
    
	private AvatarEnd avatarEnd = null;
                
  
        @ASN1Element ( name = "unknownAvatar", isOptional =  false , hasTag =  true, tag = 3 , hasDefaultValue =  false  )
    
	private UnknownAvatar unknownAvatar = null;
                
  
        
        public AvatarHeader getAvatarHeader () {
            return this.avatarHeader;
        }

        public boolean isAvatarHeaderSelected () {
            return this.avatarHeader != null;
        }

        private void setAvatarHeader (AvatarHeader value) {
            this.avatarHeader = value;
        }

        
        public void selectAvatarHeader (AvatarHeader value) {
            this.avatarHeader = value;
            
                    setAvatarData(null);
                
                    setAvatarEnd(null);
                
                    setUnknownAvatar(null);
                            
        }

        
  
        
        public AvatarData getAvatarData () {
            return this.avatarData;
        }

        public boolean isAvatarDataSelected () {
            return this.avatarData != null;
        }

        private void setAvatarData (AvatarData value) {
            this.avatarData = value;
        }

        
        public void selectAvatarData (AvatarData value) {
            this.avatarData = value;
            
                    setAvatarHeader(null);
                
                    setAvatarEnd(null);
                
                    setUnknownAvatar(null);
                            
        }

        
  
        
        public AvatarEnd getAvatarEnd () {
            return this.avatarEnd;
        }

        public boolean isAvatarEndSelected () {
            return this.avatarEnd != null;
        }

        private void setAvatarEnd (AvatarEnd value) {
            this.avatarEnd = value;
        }

        
        public void selectAvatarEnd (AvatarEnd value) {
            this.avatarEnd = value;
            
                    setAvatarHeader(null);
                
                    setAvatarData(null);
                
                    setUnknownAvatar(null);
                            
        }

        
  
        
        public UnknownAvatar getUnknownAvatar () {
            return this.unknownAvatar;
        }

        public boolean isUnknownAvatarSelected () {
            return this.unknownAvatar != null;
        }

        private void setUnknownAvatar (UnknownAvatar value) {
            this.unknownAvatar = value;
        }

        
        public void selectUnknownAvatar (UnknownAvatar value) {
            this.unknownAvatar = value;
            
                    setAvatarHeader(null);
                
                    setAvatarData(null);
                
                    setAvatarEnd(null);
                            
        }

        
  

	    public void initWithDefaults() {
	    }

        public IASN1PreparedElementData getPreparedData() {
            return preparedData_AvatarResultChoiceType;
        }

        private static IASN1PreparedElementData preparedData_AvatarResultChoiceType = CoderFactory.getInstance().newPreparedElementData(AvatarResultChoiceType.class);

    }

                
        @ASN1Element ( name = "avatarResult", isOptional =  false , hasTag =  false  , hasDefaultValue =  false  )
    
	private AvatarResultChoiceType avatarResult = null;
                
  
        
        public NonZeroId getRequestId () {
            return this.requestId;
        }

        

        public void setRequestId (NonZeroId value) {
            this.requestId = value;
        }
        
  
        
        public AvatarResultChoiceType getAvatarResult () {
            return this.avatarResult;
        }

        

        public void setAvatarResult (AvatarResultChoiceType value) {
            this.avatarResult = value;
        }
        
  
                
                
        public void initWithDefaults() {
            
        }

        public IASN1PreparedElementData getPreparedData() {
            return preparedData_AvatarReplyMessageSequenceType;
        }

       private static IASN1PreparedElementData preparedData_AvatarReplyMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(AvatarReplyMessageSequenceType.class);
                
       }

       
                
        @ASN1Element ( name = "AvatarReplyMessage", isOptional =  false , hasTag =  true, tag = 5, 
        tagClass =  TagClass.Application  , hasDefaultValue =  false  )
    
        private AvatarReplyMessageSequenceType  value;        

        
        
        public AvatarReplyMessage () {
        }
        
        
        
        public void setValue(AvatarReplyMessageSequenceType value) {
            this.value = value;
        }
        
        
        
        public AvatarReplyMessageSequenceType getValue() {
            return this.value;
        }            
        

	    public void initWithDefaults() {
	    }

        private static IASN1PreparedElementData preparedData = CoderFactory.getInstance().newPreparedElementData(AvatarReplyMessage.class);
        public IASN1PreparedElementData getPreparedData() {
            return preparedData;
        }

            
    }
            