
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 = "PlayerInfoReplyMessage" )
    public class PlayerInfoReplyMessage implements IASN1PreparedElement {
                
        

       @ASN1PreparedElement
       @ASN1Sequence ( name = "PlayerInfoReplyMessage" , isSet = false )
       public static class PlayerInfoReplyMessageSequenceType implements IASN1PreparedElement {
                
        @ASN1Element ( name = "playerId", isOptional =  false , hasTag =  false  , hasDefaultValue =  false  )
    
	private NonZeroId playerId = null;
                
  
        
    @ASN1PreparedElement
    @ASN1Choice ( name = "playerInfoResult" )
    public static class PlayerInfoResultChoiceType implements IASN1PreparedElement {
            
        @ASN1Element ( name = "playerInfoData", isOptional =  false , hasTag =  true, tag = 0 , hasDefaultValue =  false  )
    
	private PlayerInfoData playerInfoData = null;
                
  
        @ASN1Element ( name = "unknownPlayerInfo", isOptional =  false , hasTag =  true, tag = 1 , hasDefaultValue =  false  )
    
	private UnknownPlayerInfo unknownPlayerInfo = null;
                
  
        
        public PlayerInfoData getPlayerInfoData () {
            return this.playerInfoData;
        }

        public boolean isPlayerInfoDataSelected () {
            return this.playerInfoData != null;
        }

        private void setPlayerInfoData (PlayerInfoData value) {
            this.playerInfoData = value;
        }

        
        public void selectPlayerInfoData (PlayerInfoData value) {
            this.playerInfoData = value;
            
                    setUnknownPlayerInfo(null);
                            
        }

        
  
        
        public UnknownPlayerInfo getUnknownPlayerInfo () {
            return this.unknownPlayerInfo;
        }

        public boolean isUnknownPlayerInfoSelected () {
            return this.unknownPlayerInfo != null;
        }

        private void setUnknownPlayerInfo (UnknownPlayerInfo value) {
            this.unknownPlayerInfo = value;
        }

        
        public void selectUnknownPlayerInfo (UnknownPlayerInfo value) {
            this.unknownPlayerInfo = value;
            
                    setPlayerInfoData(null);
                            
        }

        
  

	    public void initWithDefaults() {
	    }

        public IASN1PreparedElementData getPreparedData() {
            return preparedData_PlayerInfoResultChoiceType;
        }

        private static IASN1PreparedElementData preparedData_PlayerInfoResultChoiceType = CoderFactory.getInstance().newPreparedElementData(PlayerInfoResultChoiceType.class);

    }

                
        @ASN1Element ( name = "playerInfoResult", isOptional =  false , hasTag =  false  , hasDefaultValue =  false  )
    
	private PlayerInfoResultChoiceType playerInfoResult = null;
                
  
        
        public NonZeroId getPlayerId () {
            return this.playerId;
        }

        

        public void setPlayerId (NonZeroId value) {
            this.playerId = value;
        }
        
  
        
        public PlayerInfoResultChoiceType getPlayerInfoResult () {
            return this.playerInfoResult;
        }

        

        public void setPlayerInfoResult (PlayerInfoResultChoiceType value) {
            this.playerInfoResult = value;
        }
        
  
                
                
        public void initWithDefaults() {
            
        }

        public IASN1PreparedElementData getPreparedData() {
            return preparedData_PlayerInfoReplyMessageSequenceType;
        }

       private static IASN1PreparedElementData preparedData_PlayerInfoReplyMessageSequenceType = CoderFactory.getInstance().newPreparedElementData(PlayerInfoReplyMessageSequenceType.class);
                
       }

       
                
        @ASN1Element ( name = "PlayerInfoReplyMessage", isOptional =  false , hasTag =  true, tag = 9, 
        tagClass =  TagClass.Application  , hasDefaultValue =  false  )
    
        private PlayerInfoReplyMessageSequenceType  value;        

        
        
        public PlayerInfoReplyMessage () {
        }
        
        
        
        public void setValue(PlayerInfoReplyMessageSequenceType value) {
            this.value = value;
        }
        
        
        
        public PlayerInfoReplyMessageSequenceType getValue() {
            return this.value;
        }            
        

	    public void initWithDefaults() {
	    }

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

            
    }
            