/**
* Start time:12:19:59 2009-09-04<br>
* Project: mobicents-isup-stack<br>
*
* @author <a href="mailto:baranowb@gmail.com">Bartosz Baranowski </a>
*/
package org.mobicents.ss7.isup.impl;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.mobicents.ss7.isup.ISUPMessageFactory;
import org.mobicents.ss7.isup.ISUPProvider;
import org.mobicents.ss7.isup.impl.message.parameter.OriginalCalledNumberImpl;
import org.mobicents.ss7.isup.message.AddressCompleteMessage;
import org.mobicents.ss7.isup.message.AnswerMessage;
import org.mobicents.ss7.isup.message.ApplicationTransportMessage;
import org.mobicents.ss7.isup.message.BlockingAckMessage;
import org.mobicents.ss7.isup.message.BlockingMessage;
import org.mobicents.ss7.isup.message.CallProgressMessage;
import org.mobicents.ss7.isup.message.ChargeInformationMessage;
import org.mobicents.ss7.isup.message.CircuitGroupBlockingAckMessage;
import org.mobicents.ss7.isup.message.CircuitGroupBlockingMessage;
import org.mobicents.ss7.isup.message.CircuitGroupQueryMessage;
import org.mobicents.ss7.isup.message.CircuitGroupQueryResponseMessage;
import org.mobicents.ss7.isup.message.CircuitGroupResetAckMessage;
import org.mobicents.ss7.isup.message.CircuitGroupResetMessage;
import org.mobicents.ss7.isup.message.CircuitGroupUnblockingAckMessage;
import org.mobicents.ss7.isup.message.CircuitGroupUnblockingMessage;
import org.mobicents.ss7.isup.message.ConfusionMessage;
import org.mobicents.ss7.isup.message.ConnectMessage;
import org.mobicents.ss7.isup.message.ContinuityCheckRequestMessage;
import org.mobicents.ss7.isup.message.ContinuityMessage;
import org.mobicents.ss7.isup.message.FacilityAcceptedMessage;
import org.mobicents.ss7.isup.message.FacilityMessage;
import org.mobicents.ss7.isup.message.FacilityRejectedMessage;
import org.mobicents.ss7.isup.message.FacilityRequestMessage;
import org.mobicents.ss7.isup.message.ForwardTransferMessage;
import org.mobicents.ss7.isup.message.ISUPMessage;
import org.mobicents.ss7.isup.message.IdentificationRequestMessage;
import org.mobicents.ss7.isup.message.IdentificationResponseMessage;
import org.mobicents.ss7.isup.message.InformationMessage;
import org.mobicents.ss7.isup.message.InformationRequestMessage;
import org.mobicents.ss7.isup.message.InitialAddressMessage;
import org.mobicents.ss7.isup.message.LoopPreventionMessage;
import org.mobicents.ss7.isup.message.LoopbackAckMessage;
import org.mobicents.ss7.isup.message.NetworkResourceManagementMessage;
import org.mobicents.ss7.isup.message.OverloadMessage;
import org.mobicents.ss7.isup.message.PassAlongMessage;
import org.mobicents.ss7.isup.message.PreReleaseInformationMessage;
import org.mobicents.ss7.isup.message.ReleaseCompleteMessage;
import org.mobicents.ss7.isup.message.ReleaseMessage;
import org.mobicents.ss7.isup.message.ResetCircuitMessage;
import org.mobicents.ss7.isup.message.ResumeMessage;
import org.mobicents.ss7.isup.message.SegmentationMessage;
import org.mobicents.ss7.isup.message.SubsequentAddressMessage;
import org.mobicents.ss7.isup.message.SubsequentDirectoryNumberMessage;
import org.mobicents.ss7.isup.message.SuspendMessage;
import org.mobicents.ss7.isup.message.UnblockingAckMessage;
import org.mobicents.ss7.isup.message.UnblockingMessage;
import org.mobicents.ss7.isup.message.UnequippedCICMessage;
import org.mobicents.ss7.isup.message.User2UserInformationMessage;
import org.mobicents.ss7.isup.message.UserPartAvailableMessage;
import org.mobicents.ss7.isup.message.UserPartTestMessage;
import org.mobicents.ss7.isup.message.parameter.*;
import org.mobicents.ss7.isup.message.parameter.accessTransport.AccessTransport;
/**
* Start time:12:19:59 2009-09-04<br>
* Project: mobicents-isup-stack<br>
*
* @author <a href="mailto:baranowb@gmail.com">Bartosz Baranowski </a>
*/
public class ISUPMessageFactoryImpl implements ISUPMessageFactory {
private ISUPProvider providerImpl;
/**
*
* @param providerImpl
*/
public ISUPMessageFactoryImpl(ISUPProvider providerImpl) {
this.providerImpl = providerImpl;
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createACM()
*/
public AddressCompleteMessage createACM() {
return new AddressCompleteMessageImpl(providerImpl,_ACM_HOLDER.mandatoryCodes,_ACM_HOLDER.mandatoryVariableCodes,_ACM_HOLDER.optionalCodes,
_ACM_HOLDER.mandatoryCodeToIndex,_ACM_HOLDER.mandatoryVariableCodeToIndex,_ACM_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createANM()
*/
public AnswerMessage createANM() {
return new AnswerMessageImpl(providerImpl,_ANM_HOLDER.mandatoryCodes,_ANM_HOLDER.mandatoryVariableCodes,_ANM_HOLDER.optionalCodes,
_ANM_HOLDER.mandatoryCodeToIndex,_ANM_HOLDER.mandatoryVariableCodeToIndex,_ANM_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createAPT()
*/
public ApplicationTransportMessage createAPT() {
return new ApplicationTransportMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createBLA()
*/
public BlockingAckMessage createBLA() {
return new BlockingAckMessageImpl(providerImpl,_BLA_HOLDER.mandatoryCodes,_BLA_HOLDER.mandatoryVariableCodes,_BLA_HOLDER.optionalCodes,
_BLA_HOLDER.mandatoryCodeToIndex,_BLA_HOLDER.mandatoryVariableCodeToIndex,_BLA_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createBLO()
*/
public BlockingMessage createBLO() {
return new BlockingMessageImpl(providerImpl,_BLO_HOLDER.mandatoryCodes,_BLO_HOLDER.mandatoryVariableCodes,_BLO_HOLDER.optionalCodes,
_BLO_HOLDER.mandatoryCodeToIndex,_BLO_HOLDER.mandatoryVariableCodeToIndex,_BLO_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCCR()
*/
public ContinuityCheckRequestMessage createCCR() {
return new ContinuityCheckRequestMessageImpl(providerImpl,_CCR_HOLDER.mandatoryCodes,_CCR_HOLDER.mandatoryVariableCodes,_CCR_HOLDER.optionalCodes,
_CCR_HOLDER.mandatoryCodeToIndex,_CCR_HOLDER.mandatoryVariableCodeToIndex,_CCR_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCGB()
*/
public CircuitGroupBlockingMessage createCGB() {
return new CircuitGroupBlockingMessageImpl(providerImpl,_CGB_HOLDER.mandatoryCodes,_CGB_HOLDER.mandatoryVariableCodes,_CGB_HOLDER.optionalCodes,
_CGB_HOLDER.mandatoryCodeToIndex,_CGB_HOLDER.mandatoryVariableCodeToIndex,_CGB_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCGBA()
*/
public CircuitGroupBlockingAckMessage createCGBA() {
return new CircuitGroupBlockingAckMessageImpl(providerImpl,_CGBA_HOLDER.mandatoryCodes,_CGBA_HOLDER.mandatoryVariableCodes,_CGBA_HOLDER.optionalCodes,
_CGBA_HOLDER.mandatoryCodeToIndex,_CGBA_HOLDER.mandatoryVariableCodeToIndex,_CGBA_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCGU()
*/
public CircuitGroupUnblockingMessage createCGU() {
return new CircuitGroupUnblockingMessageImpl(providerImpl,_CGU_HOLDER.mandatoryCodes,_CGU_HOLDER.mandatoryVariableCodes,_CGU_HOLDER.optionalCodes,
_CGU_HOLDER.mandatoryCodeToIndex,_CGU_HOLDER.mandatoryVariableCodeToIndex,_CGU_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCGUA()
*/
public CircuitGroupUnblockingAckMessage createCGUA() {
return new CircuitGroupUnblockingAckMessageImpl(providerImpl,_CGUA_HOLDER.mandatoryCodes,_CGUA_HOLDER.mandatoryVariableCodes,_CGUA_HOLDER.optionalCodes,
_CGUA_HOLDER.mandatoryCodeToIndex,_CGUA_HOLDER.mandatoryVariableCodeToIndex,_CGUA_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCIM()
*/
public ChargeInformationMessage createCIM() {
return new ChargeInformationMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCNF()
*/
public ConfusionMessage createCNF() {
return new ConfusionMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCON()
*/
public ConnectMessage createCON() {
return new ConnectMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCOT()
*/
public ContinuityMessage createCOT() {
return new ContinuityMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCPG()
*/
public CallProgressMessage createCPG() {
return new CallProgressMessageImpl(providerImpl,_CPG_HOLDER.mandatoryCodes,_CPG_HOLDER.mandatoryVariableCodes,_CPG_HOLDER.optionalCodes,
_CPG_HOLDER.mandatoryCodeToIndex,_CPG_HOLDER.mandatoryVariableCodeToIndex,_CPG_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCQM()
*/
public CircuitGroupQueryMessage createCQM() {
return new CircuitGroupQueryMessageImpl(providerImpl,_CQM_HOLDER.mandatoryCodes,_CQM_HOLDER.mandatoryVariableCodes,_CQM_HOLDER.optionalCodes,
_CQM_HOLDER.mandatoryCodeToIndex,_CQM_HOLDER.mandatoryVariableCodeToIndex,_CQM_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCQR()
*/
public CircuitGroupQueryResponseMessage createCQR() {
return new CircuitGroupQueryResponseMessageImpl(providerImpl,_CQR_HOLDER.mandatoryCodes,_CQR_HOLDER.mandatoryVariableCodes,_CQR_HOLDER.optionalCodes,
_CQR_HOLDER.mandatoryCodeToIndex,_CQR_HOLDER.mandatoryVariableCodeToIndex,_CQR_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createFAA()
*/
public FacilityAcceptedMessage createFAA() {
return new FacilityAcceptedMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createFAC()
*/
public FacilityMessage createFAC() {
return new FacilityMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createFAR()
*/
public FacilityRequestMessage createFAR() {
return new FacilityRequestMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createFOT()
*/
public ForwardTransferMessage createFOT() {
return new ForwardTransferMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createFRJ()
*/
public FacilityRejectedMessage createFRJ() {
return new FacilityRejectedMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createGRA()
*/
public CircuitGroupResetAckMessage createGRA() {
return new CircuitGroupResetAckMessageImpl(providerImpl,_GRA_HOLDER.mandatoryCodes,_GRA_HOLDER.mandatoryVariableCodes,_GRA_HOLDER.optionalCodes,
_GRA_HOLDER.mandatoryCodeToIndex,_GRA_HOLDER.mandatoryVariableCodeToIndex,_GRA_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createGRS()
*/
public CircuitGroupResetMessage createGRS() {
return new CircuitGroupResetMessageImpl(providerImpl,_GRS_HOLDER.mandatoryCodes,_GRS_HOLDER.mandatoryVariableCodes,_GRS_HOLDER.optionalCodes,
_GRS_HOLDER.mandatoryCodeToIndex,_GRS_HOLDER.mandatoryVariableCodeToIndex,_GRS_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createIAM()
*/
public InitialAddressMessage createIAM() {
return new InitialAddressMessageImpl(providerImpl,_IAM_HOLDER.mandatoryCodes,_IAM_HOLDER.mandatoryVariableCodes,_IAM_HOLDER.optionalCodes,
_IAM_HOLDER.mandatoryCodeToIndex,_IAM_HOLDER.mandatoryVariableCodeToIndex,_IAM_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createIDR()
*/
public IdentificationRequestMessage createIDR() {
return new IdentificationRequestMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createINF()
*/
public InformationMessage createINF() {
return new InformationMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createINR()
*/
public InformationRequestMessage createINR() {
return new InformationRequestMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createIRS()
*/
public IdentificationResponseMessage createIRS() {
return new IdentificationResponseMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createLPA()
*/
public LoopbackAckMessage createLPA() {
return new LoopbackAckMessageImpl(providerImpl,_LPA_HOLDER.mandatoryCodes,_LPA_HOLDER.mandatoryVariableCodes,_LPA_HOLDER.optionalCodes,
_LPA_HOLDER.mandatoryCodeToIndex,_LPA_HOLDER.mandatoryVariableCodeToIndex,_LPA_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createLPP()
*/
public LoopPreventionMessage createLPP() {
return new LoopPreventionMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createNRM()
*/
public NetworkResourceManagementMessage createNRM() {
return new NetworkResourceManagementMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createOLM()
*/
public OverloadMessage createOLM() {
return new OverloadMessageImpl(providerImpl,_OLM_HOLDER.mandatoryCodes,_OLM_HOLDER.mandatoryVariableCodes,_OLM_HOLDER.optionalCodes,
_OLM_HOLDER.mandatoryCodeToIndex,_OLM_HOLDER.mandatoryVariableCodeToIndex,_OLM_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createPAM()
*/
public PassAlongMessage createPAM() {
return new PassAlongMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createPRI()
*/
public PreReleaseInformationMessage createPRI() {
return new PreReleaseInformationMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createREL()
*/
public ReleaseMessage createREL() {
return new ReleaseMessageImpl(providerImpl,_REL_HOLDER.mandatoryCodes,_REL_HOLDER.mandatoryVariableCodes,_REL_HOLDER.optionalCodes,
_REL_HOLDER.mandatoryCodeToIndex,_REL_HOLDER.mandatoryVariableCodeToIndex,_REL_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createRES()
*/
public ResumeMessage createRES() {
return new ResumeMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createRLC()
*/
public ReleaseCompleteMessage createRLC() {
return new ReleaseCompleteMessageImpl(providerImpl,_RLC_HOLDER.mandatoryCodes,_RLC_HOLDER.mandatoryVariableCodes,_RLC_HOLDER.optionalCodes,
_RLC_HOLDER.mandatoryCodeToIndex,_RLC_HOLDER.mandatoryVariableCodeToIndex,_RLC_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createRSC()
*/
public ResetCircuitMessage createRSC() {
return new ResetCircuitMessageImpl(providerImpl,_RSC_HOLDER.mandatoryCodes,_RSC_HOLDER.mandatoryVariableCodes,_RSC_HOLDER.optionalCodes,
_RSC_HOLDER.mandatoryCodeToIndex,_RSC_HOLDER.mandatoryVariableCodeToIndex,_RSC_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createSAM()
*/
public SubsequentAddressMessage createSAM() {
return new SubsequentAddressMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createSDN()
*/
public SubsequentDirectoryNumberMessage createSDN() {
return new SubsequentDirectoryNumberMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createSGM()
*/
public SegmentationMessage createSGM() {
return new SegmentationMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createSUS()
*/
public SuspendMessage createSUS() {
return new SuspendMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createUBA()
*/
public UnblockingAckMessage createUBA() {
return new UnblockingAckMessageImpl(providerImpl,_UBA_HOLDER.mandatoryCodes,_UBA_HOLDER.mandatoryVariableCodes,_UBA_HOLDER.optionalCodes,
_UBA_HOLDER.mandatoryCodeToIndex,_UBA_HOLDER.mandatoryVariableCodeToIndex,_UBA_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createUBL()
*/
public UnblockingMessage createUBL() {
return new UnblockingMessageImpl(providerImpl,_UBL_HOLDER.mandatoryCodes,_UBL_HOLDER.mandatoryVariableCodes,_UBL_HOLDER.optionalCodes,
_UBL_HOLDER.mandatoryCodeToIndex,_UBL_HOLDER.mandatoryVariableCodeToIndex,_UBL_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createUCIC()
*/
public UnequippedCICMessage createUCIC() {
return new UnequippedCICMessageImpl(providerImpl,_UCIC_HOLDER.mandatoryCodes,_UCIC_HOLDER.mandatoryVariableCodes,_UCIC_HOLDER.optionalCodes,
_UCIC_HOLDER.mandatoryCodeToIndex,_UCIC_HOLDER.mandatoryVariableCodeToIndex,_UCIC_HOLDER.optionalCodeToIndex);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createUPA()
*/
public UserPartAvailableMessage createUPA() {
return new UserPartAvailableMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createUPT()
*/
public UserPartTestMessage createUPT() {
return new UserPartTestMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createUSR()
*/
public User2UserInformationMessage createUSR() {
return new User2UserInformationMessageImpl(providerImpl);
}
/*
* (non-Javadoc)
*
* @see org.mobicents.ss7.isup.ISUPMessageFactory#createCommand(int)
*/
public ISUPMessage createCommand(int commandCode) {
switch (commandCode) {
case ISUPMessage._MESSAGE_CODE_IAM:
InitialAddressMessage IAM = createIAM();
return IAM;
case ISUPMessage._MESSAGE_CODE_ACM:
AddressCompleteMessage ACM = createACM();
return ACM;
case ISUPMessage._MESSAGE_CODE_REL:
ReleaseMessage REL = createREL();
return REL;
case ISUPMessage._MESSAGE_CODE_RLC:
ReleaseCompleteMessage RLC = createRLC();
return RLC;
case ISUPMessage._MESSAGE_CODE_APT:
ApplicationTransportMessage APT = createAPT();
return APT;
case ISUPMessage._MESSAGE_CODE_ANM:
AnswerMessage ANM = createANM();
return ANM;
case ISUPMessage._MESSAGE_CODE_CPG:
CallProgressMessage CPG = createCPG();
return CPG;
case ISUPMessage._MESSAGE_CODE_GRA:
CircuitGroupResetAckMessage GRA = createGRA();
return GRA;
case ISUPMessage._MESSAGE_CODE_CFN:
ConfusionMessage CFN = createCNF();
return CFN;
case ISUPMessage._MESSAGE_CODE_CON:
ConnectMessage CON = createCON();
return CON;
case ISUPMessage._MESSAGE_CODE_COT:
ContinuityMessage COT = createCOT();
return COT;
case ISUPMessage._MESSAGE_CODE_FRJ:
FacilityRejectedMessage FRJ = createFRJ();
return FRJ;
case ISUPMessage._MESSAGE_CODE_INF:
InformationMessage INF = createINF();
return INF;
case ISUPMessage._MESSAGE_CODE_INR:
InformationRequestMessage INR = createINR();
return INR;
case ISUPMessage._MESSAGE_CODE_SAM:
SubsequentAddressMessage SAM = createSAM();
return SAM;
case ISUPMessage._MESSAGE_CODE_SDN:
SubsequentDirectoryNumberMessage SDN = createSDN();
return SDN;
case ISUPMessage._MESSAGE_CODE_FOT:
ForwardTransferMessage FOT = createFOT();
return FOT;
case ISUPMessage._MESSAGE_CODE_RES:
ResumeMessage RES = createRES();
return RES;
case ISUPMessage._MESSAGE_CODE_BLO:
BlockingMessage BLO = createBLO();
return BLO;
case ISUPMessage._MESSAGE_CODE_BLA:
BlockingAckMessage BLA = createBLA();
return BLA;
case ISUPMessage._MESSAGE_CODE_CCR:
ContinuityCheckRequestMessage CCR = createCCR();
return CCR;
case ISUPMessage._MESSAGE_CODE_LPA:
LoopbackAckMessage LPA = createLPA();
return LPA;
case ISUPMessage._MESSAGE_CODE_LPP:
LoopPreventionMessage LPP = createLPP();
return LPP;
case ISUPMessage._MESSAGE_CODE_OLM:
OverloadMessage OLM = createOLM();
return OLM;
case ISUPMessage._MESSAGE_CODE_SUS:
SuspendMessage SUS = createSUS();
return SUS;
case ISUPMessage._MESSAGE_CODE_RSC:
ResetCircuitMessage RSC = createRSC();
return RSC;
case ISUPMessage._MESSAGE_CODE_UBL:
UnblockingMessage UBL = createUBL();
return UBL;
case ISUPMessage._MESSAGE_CODE_UBA:
UnblockingAckMessage UBA = createUBA();
return UBA;
case ISUPMessage._MESSAGE_CODE_UCIC:
UnequippedCICMessage UCIC = createUCIC();
return UCIC;
case ISUPMessage._MESSAGE_CODE_CGB:
CircuitGroupBlockingMessage CGB = createCGB();
return CGB;
case ISUPMessage._MESSAGE_CODE_CGBA:
CircuitGroupBlockingAckMessage CGBA = createCGBA();
return CGBA;
case ISUPMessage._MESSAGE_CODE_CGU:
CircuitGroupUnblockingMessage CGU = createCGU();
return CGU;
case ISUPMessage._MESSAGE_CODE_CGUA:
CircuitGroupUnblockingAckMessage CGUA = createCGUA();
return CGUA;
case ISUPMessage._MESSAGE_CODE_GRS:
CircuitGroupResetMessage GRS = createGRS();
return GRS;
case ISUPMessage._MESSAGE_CODE_CQR:
CircuitGroupQueryResponseMessage CQR = createCQR();
return CQR;
case ISUPMessage._MESSAGE_CODE_CQM:
CircuitGroupQueryMessage CQM = createCQM();
return CQM;
case ISUPMessage._MESSAGE_CODE_FAA:
FacilityAcceptedMessage FAA = createFAA();
return FAA;
case ISUPMessage._MESSAGE_CODE_FAR:
FacilityRequestMessage FAR = createFAR();
return FAR;
case ISUPMessage._MESSAGE_CODE_PAM:
PassAlongMessage PAM = createPAM();
return PAM;
case ISUPMessage._MESSAGE_CODE_PRI:
PreReleaseInformationMessage PRI = createPRI();
return PRI;
case ISUPMessage._MESSAGE_CODE_FAC:
FacilityMessage FAC = createFAC();
return FAC;
case ISUPMessage._MESSAGE_CODE_NRM:
NetworkResourceManagementMessage NRM = createNRM();
return NRM;
case ISUPMessage._MESSAGE_CODE_IDR:
IdentificationRequestMessage IDR = createIDR();
return IDR;
case ISUPMessage._MESSAGE_CODE_IRS:
IdentificationResponseMessage IRS = createIRS();
return IRS;
case ISUPMessage._MESSAGE_CODE_SGM:
SegmentationMessage SGM = createSGM();
return SGM;
case ISUPMessage._MESSAGE_CODE_CIM:
ChargeInformationMessage CIM = createCIM();
return CIM;
case ISUPMessage._MESSAGE_CODE_UPA:
UserPartAvailableMessage UPA = createUPA();
return UPA;
case ISUPMessage._MESSAGE_CODE_UPT:
UserPartTestMessage UPT = createUPT();
return UPT;
case ISUPMessage._MESSAGE_CODE_USR:
User2UserInformationMessage USR = createUSR();
return USR;
default:
throw new IllegalArgumentException("Not supported comamnd code: " + commandCode);
}
}
//private final static Map<Integer,MessageIndexingPlaceHolder> _COMMAND_CODE_2_COMMAND_INDEXES;
//ACM
private static final MessageIndexingPlaceHolder _ACM_HOLDER;
//ANM
private static final MessageIndexingPlaceHolder _ANM_HOLDER;
//FIXME: APT
//BLO
private static final MessageIndexingPlaceHolder _BLO_HOLDER;
//BLA
private static final MessageIndexingPlaceHolder _BLA_HOLDER;
//CPG
private static final MessageIndexingPlaceHolder _CPG_HOLDER;
//CGB
private static final MessageIndexingPlaceHolder _CGB_HOLDER;
//CGBA
private static final MessageIndexingPlaceHolder _CGBA_HOLDER;
//CQM
private static final MessageIndexingPlaceHolder _CQM_HOLDER;
//CQR
private static final MessageIndexingPlaceHolder _CQR_HOLDER;
//GRS
private static final MessageIndexingPlaceHolder _GRS_HOLDER;
//GRA
private static final MessageIndexingPlaceHolder _GRA_HOLDER;
//CGU
private static final MessageIndexingPlaceHolder _CGU_HOLDER;
//CGUA
private static final MessageIndexingPlaceHolder _CGUA_HOLDER;
//FIXME: CNF
//FIXME: CON
//FIXME: COT
//CCR
private static final MessageIndexingPlaceHolder _CCR_HOLDER;
//FIXME: FAC
//FIXME: FAA
//FIXME: FRJ
//FIXME: FAR
//FIXME: FOT
//FIXME: IDR
//FIXME: IRS
//FIXME: INF
//IAM
private static final MessageIndexingPlaceHolder _IAM_HOLDER;
// LPA
private static final MessageIndexingPlaceHolder _LPA_HOLDER;
//FIXME: LPP
//FIXME: NRM
// OLM
private static final MessageIndexingPlaceHolder _OLM_HOLDER;
//FIXME: PAM
//FIXME: PRI
//REL
private static final MessageIndexingPlaceHolder _REL_HOLDER;
//RLC
private static final MessageIndexingPlaceHolder _RLC_HOLDER;
// RSC
private static final MessageIndexingPlaceHolder _RSC_HOLDER;
//FIXME: RES
//FIXME: SGM
//FIXME: SAM
//FIXME: SDN
//FIXME: SUS
// UBL
private static final MessageIndexingPlaceHolder _UBL_HOLDER;
// UBA
private static final MessageIndexingPlaceHolder _UBA_HOLDER;
// UCIC
private static final MessageIndexingPlaceHolder _UCIC_HOLDER;
//FIXME: UPA
//FIXME: UPT
//FIXME: U2UI
static
{
//Map<Integer,MessageIndexingPlaceHolder> _commandCode2CommandIndexes = new HashMap<Integer, MessageIndexingPlaceHolder>();
Set<Integer> mandatoryCodes = new HashSet<Integer>();
Set<Integer> mandatoryVariableCodes= new HashSet<Integer>();
Set<Integer> optionalCodes= new HashSet<Integer>();
Map<Integer, Integer> mandatoryCodeToIndex = new HashMap<Integer, Integer>();
Map<Integer, Integer> mandatoryVariableCodeToIndex= new HashMap<Integer, Integer>();
Map<Integer, Integer> optionalCodeToIndex= new HashMap<Integer, Integer>();
//ACM
mandatoryCodes.add(BackwardCallIndicators._PARAMETER_CODE);
mandatoryCodeToIndex.put(BackwardCallIndicators._PARAMETER_CODE,AddressCompleteMessageImpl._INDEX_F_BackwardCallIndicators);
optionalCodes.add(OptionalBackwardCallIndicators._PARAMETER_CODE);
optionalCodes.add(CallReference._PARAMETER_CODE);
optionalCodes.add(CauseIndicators._PARAMETER_CODE);
optionalCodes.add(UserToUserIndicators._PARAMETER_CODE);
optionalCodes.add(UserToUserInformation._PARAMETER_CODE);
optionalCodes.add(AccessTransport._PARAMETER_CODE);
optionalCodes.add(GenericNotificationIndicator._PARAMETER_CODE);
optionalCodes.add(TransmissionMediumUsed._PARAMETER_CODE);
optionalCodes.add(EchoControlInformation._PARAMETER_CODE);
optionalCodes.add(AccessDeliveryInformation._PARAMETER_CODE);
optionalCodes.add(RedirectionNumber._PARAMETER_CODE);
optionalCodes.add(ParameterCompatibilityInformation._PARAMETER_CODE);
optionalCodes.add(CallDiversionInformation._PARAMETER_CODE);
optionalCodes.add(NetworkSpecificFacility._PARAMETER_CODE);
optionalCodes.add(RemoteOperations._PARAMETER_CODE);
optionalCodes.add(ServiceActivation._PARAMETER_CODE);
optionalCodes.add(RedirectionNumberRestriction._PARAMETER_CODE);
optionalCodes.add(ConferenceTreatmentIndicators._PARAMETER_CODE);
optionalCodes.add(UIDActionIndicators._PARAMETER_CODE);
optionalCodes.add(ApplicationTransportParameter ._PARAMETER_CODE);
optionalCodes.add(CCNRPossibleIndicator._PARAMETER_CODE);
optionalCodes.add(HTRInformation._PARAMETER_CODE);
optionalCodes.add(PivotRoutingBackwardInformation._PARAMETER_CODE);
optionalCodes.add(RedirectStatus._PARAMETER_CODE);
optionalCodeToIndex.put(OptionalBackwardCallIndicators._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_OptionalBakwardCallIndicators);
optionalCodeToIndex.put(CallReference._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_CallReference);
optionalCodeToIndex.put(CauseIndicators._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_CauseIndicators);
optionalCodeToIndex.put(UserToUserIndicators._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_UserToUserIndicators);
optionalCodeToIndex.put(UserToUserInformation._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_UserToUserInformation);
optionalCodeToIndex.put(AccessTransport._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_AccessTransport);
optionalCodeToIndex.put(GenericNotificationIndicator._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_GenericNotificationIndicator);
optionalCodeToIndex.put(TransmissionMediumUsed._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_TransmissionMediumUsed);
optionalCodeToIndex.put(EchoControlInformation._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_EchoControlInformation);
optionalCodeToIndex.put(AccessDeliveryInformation._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_AccessDeliveryInformation);
optionalCodeToIndex.put(RedirectionNumber._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_RedirectionNumber);
optionalCodeToIndex.put(ParameterCompatibilityInformation._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_ParameterCompatibilityInformation);
optionalCodeToIndex.put(CallDiversionInformation._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_CallDiversionInformation);
optionalCodeToIndex.put(NetworkSpecificFacility._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_NetworkSpecificFacility);
optionalCodeToIndex.put(RemoteOperations._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_RemoteOperations);
optionalCodeToIndex.put(ServiceActivation._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_ServiceActivation);
optionalCodeToIndex.put(RedirectionNumberRestriction._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_RedirectionNumberRestriction);
optionalCodeToIndex.put(ConferenceTreatmentIndicators._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_ConferenceTreatmentIndicators);
optionalCodeToIndex.put(UIDActionIndicators._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_UIDActionIndicators);
optionalCodeToIndex.put(ApplicationTransportParameter._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_ApplicationTransportParameter);
optionalCodeToIndex.put(CCNRPossibleIndicator._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_CCNRPossibleIndicator);
optionalCodeToIndex.put(HTRInformation._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_HTRInformation);
optionalCodeToIndex.put(PivotRoutingBackwardInformation._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_PivotRoutingBackwardInformation);
optionalCodeToIndex.put(RedirectStatus._PARAMETER_CODE, AddressCompleteMessageImpl._INDEX_O_RedirectStatus);
MessageIndexingPlaceHolder ACM_HOLDER = new MessageIndexingPlaceHolder();
ACM_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_ACM;
ACM_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
ACM_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
ACM_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
ACM_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
ACM_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
ACM_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(ACM_HOLDER.commandCode, ACM_HOLDER);
_ACM_HOLDER = ACM_HOLDER;
//ANM
optionalCodes.add(BackwardCallIndicators._PARAMETER_CODE);
optionalCodes.add(OptionalBackwardCallIndicators._PARAMETER_CODE);
optionalCodes.add(CallReference._PARAMETER_CODE);
optionalCodes.add(UserToUserIndicators._PARAMETER_CODE);
optionalCodes.add(UserToUserInformation._PARAMETER_CODE);
optionalCodes.add(ConnectedNumber._PARAMETER_CODE);
optionalCodes.add(AccessTransport._PARAMETER_CODE);
optionalCodes.add(AccessDeliveryInformation._PARAMETER_CODE);
optionalCodes.add(GenericNotificationIndicator._PARAMETER_CODE);
optionalCodes.add(ParameterCompatibilityInformation._PARAMETER_CODE);
optionalCodes.add(BackwardGVNS._PARAMETER_CODE);
optionalCodes.add(CallHistoryInformation._PARAMETER_CODE);
optionalCodes.add(GenericNumber._PARAMETER_CODE);
optionalCodes.add(TransmissionMediumUsed._PARAMETER_CODE);
optionalCodes.add(NetworkSpecificFacility._PARAMETER_CODE);
optionalCodes.add(RemoteOperations._PARAMETER_CODE);
optionalCodes.add(RedirectionNumber._PARAMETER_CODE);
optionalCodes.add(ServiceActivation._PARAMETER_CODE);
optionalCodes.add(EchoControlInformation._PARAMETER_CODE);
optionalCodes.add(RedirectionNumberRestriction._PARAMETER_CODE);
optionalCodes.add(DisplayInformation._PARAMETER_CODE);
optionalCodes.add(ConferenceTreatmentIndicators._PARAMETER_CODE);
optionalCodes.add(ApplicationTransportParameter._PARAMETER_CODE);
optionalCodes.add(PivotRoutingBackwardInformation._PARAMETER_CODE);
optionalCodes.add(RedirectStatus._PARAMETER_CODE);
optionalCodeToIndex.put(BackwardCallIndicators._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_BackwardCallIndicators);
optionalCodeToIndex.put(OptionalBackwardCallIndicators._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_OptionalBackwardCallIndicators);
optionalCodeToIndex.put(CallReference._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_CallReference);
optionalCodeToIndex.put(UserToUserIndicators._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_UserToUserIndicators);
optionalCodeToIndex.put(UserToUserInformation._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_UserToUserInformation);
optionalCodeToIndex.put(ConnectedNumber._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_ConnectedNumber);
optionalCodeToIndex.put(AccessTransport._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_AccessTransport);
optionalCodeToIndex.put(AccessDeliveryInformation._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_AccessDeliveryInformation);
optionalCodeToIndex.put(GenericNotificationIndicator._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_GenericNotificationIndicator);
optionalCodeToIndex.put(ParameterCompatibilityInformation._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_ParameterCompatibilityInformation);
optionalCodeToIndex.put(BackwardGVNS._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_BackwardGVNS);
optionalCodeToIndex.put(CallHistoryInformation._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_CallHistoryInformation);
optionalCodeToIndex.put(GenericNumber._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_GenericNumber);
optionalCodeToIndex.put(TransmissionMediumUsed._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_TransmissionMediumUsed);
optionalCodeToIndex.put(NetworkSpecificFacility._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_NetworkSpecificFacility);
optionalCodeToIndex.put(RemoteOperations._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_RemoteOperations);
optionalCodeToIndex.put(RedirectionNumber._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_RedirectionNumber);
optionalCodeToIndex.put(ServiceActivation._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_ServiceActivation);
optionalCodeToIndex.put(EchoControlInformation._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_EchoControlInformation);
optionalCodeToIndex.put(RedirectionNumberRestriction._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_RedirectionNumberRestriction);
optionalCodeToIndex.put(DisplayInformation._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_DisplayInformation);
optionalCodeToIndex.put(ConferenceTreatmentIndicators._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_ConferenceTreatmentIndicators);
optionalCodeToIndex.put(ApplicationTransportParameter._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_ApplicationTransportParameter);
optionalCodeToIndex.put(PivotRoutingBackwardInformation._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_PivotRoutingBackwardInformation);
optionalCodeToIndex.put(RedirectStatus._PARAMETER_CODE, AnswerMessageImpl._INDEX_O_RedirectStatus);
MessageIndexingPlaceHolder ANM_HOLDER = new MessageIndexingPlaceHolder();
ANM_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_ANM;
ANM_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
ANM_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
ANM_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
ANM_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
ANM_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
ANM_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(ANM_HOLDER.commandCode, ANM_HOLDER);
_ANM_HOLDER = ANM_HOLDER;
//FIXME: APT
//BLO
MessageIndexingPlaceHolder BLO_HOLDER = new MessageIndexingPlaceHolder();
BLO_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_BLO;
BLO_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
BLO_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
BLO_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
BLO_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
BLO_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
BLO_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(BLO_HOLDER.commandCode, BLO_HOLDER);
_BLO_HOLDER = BLO_HOLDER;
//BLA
MessageIndexingPlaceHolder BLA_HOLDER = new MessageIndexingPlaceHolder();
BLA_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_BLA;
BLA_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
BLA_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
BLA_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
BLA_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
BLA_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
BLA_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(BLA_HOLDER.commandCode, BLA_HOLDER);
_BLA_HOLDER = BLA_HOLDER;
//CPG
mandatoryCodes.add(EventInformation._PARAMETER_CODE);
mandatoryCodeToIndex.put(EventInformation._PARAMETER_CODE, CallProgressMessageImpl._INDEX_F_EventInformation);
optionalCodes.add(CauseIndicators._PARAMETER_CODE);
optionalCodes.add(CallReference._PARAMETER_CODE);
optionalCodes.add(BackwardCallIndicators._PARAMETER_CODE);
optionalCodes.add(OptionalBackwardCallIndicators._PARAMETER_CODE);
optionalCodes.add(AccessTransport._PARAMETER_CODE);
optionalCodes.add(UserToUserIndicators._PARAMETER_CODE);
optionalCodes.add(RedirectionNumber._PARAMETER_CODE);
optionalCodes.add(UserToUserInformation._PARAMETER_CODE);
optionalCodes.add(GenericNotificationIndicator._PARAMETER_CODE);
optionalCodes.add(NetworkSpecificFacility._PARAMETER_CODE);
optionalCodes.add(RemoteOperations._PARAMETER_CODE);
optionalCodes.add(TransmissionMediumUsed._PARAMETER_CODE);
optionalCodes.add(AccessDeliveryInformation._PARAMETER_CODE);
optionalCodes.add(ParameterCompatibilityInformation._PARAMETER_CODE);
optionalCodes.add(CallDiversionInformation._PARAMETER_CODE);
optionalCodes.add(ServiceActivation._PARAMETER_CODE);
optionalCodes.add(RedirectionNumberRestriction._PARAMETER_CODE);
optionalCodes.add(CallTransferNumber._PARAMETER_CODE);
optionalCodes.add(EchoControlInformation._PARAMETER_CODE);
optionalCodes.add(ConnectedNumber._PARAMETER_CODE);
optionalCodes.add(BackwardGVNS._PARAMETER_CODE);
optionalCodes.add(GenericNumber._PARAMETER_CODE);
optionalCodes.add(CallHistoryInformation._PARAMETER_CODE);
optionalCodes.add(ConferenceTreatmentIndicators._PARAMETER_CODE);
optionalCodes.add(UIDActionIndicators._PARAMETER_CODE);
optionalCodes.add(ApplicationTransportParameter._PARAMETER_CODE);
optionalCodes.add(CCNRPossibleIndicator._PARAMETER_CODE);
optionalCodes.add(PivotRoutingBackwardInformation._PARAMETER_CODE);
optionalCodes.add(RedirectStatus._PARAMETER_CODE);
optionalCodeToIndex.put(CauseIndicators._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_CauseIndicators);
optionalCodeToIndex.put(CallReference._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_CallReference);
optionalCodeToIndex.put(BackwardCallIndicators._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_BackwardCallIndicators);
optionalCodeToIndex.put(OptionalBackwardCallIndicators._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_OptionalBackwardCallIndicators);
optionalCodeToIndex.put(AccessTransport._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_AccessTransport);
optionalCodeToIndex.put(UserToUserIndicators._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_UserToUserIndicators);
optionalCodeToIndex.put(RedirectionNumber._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_RedirectionNumber);
optionalCodeToIndex.put(UserToUserInformation._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_UserToUserInformation);
optionalCodeToIndex.put(GenericNotificationIndicator._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_GenericNotificationIndicator);
optionalCodeToIndex.put(NetworkSpecificFacility._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_NetworkSpecificFacility);
optionalCodeToIndex.put(RemoteOperations._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_RemoteOperations);
optionalCodeToIndex.put(TransmissionMediumUsed._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_TransmissionMediumUsed);
optionalCodeToIndex.put(AccessDeliveryInformation._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_AccessDeliveryInformation);
optionalCodeToIndex.put(ParameterCompatibilityInformation._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_ParameterCompatibilityInformation);
optionalCodeToIndex.put(CallDiversionInformation._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_CallDiversionInformation);
optionalCodeToIndex.put(ServiceActivation._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_ServiceActivation);
optionalCodeToIndex.put(RedirectionNumberRestriction._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_RedirectionNumberRestriction);
optionalCodeToIndex.put(CallTransferNumber._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_CallTransferNumber);
optionalCodeToIndex.put(EchoControlInformation._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_EchoControlInformation);
optionalCodeToIndex.put(ConnectedNumber._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_ConnectedNumber);
optionalCodeToIndex.put(BackwardGVNS._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_BackwardGVNS);
optionalCodeToIndex.put(GenericNumber._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_GenericNumber);
optionalCodeToIndex.put(CallHistoryInformation._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_CallHistoryInformation);
optionalCodeToIndex.put(ConferenceTreatmentIndicators._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_ConferenceTreatmentIndicators);
optionalCodeToIndex.put(UIDActionIndicators._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_UIDActionIndicators);
optionalCodeToIndex.put(ApplicationTransportParameter._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_ApplicationTransportParameter);
optionalCodeToIndex.put(CCNRPossibleIndicator._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_CCNRPossibleIndicator);
optionalCodeToIndex.put(PivotRoutingBackwardInformation._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_PivotRoutingBackwardInformation);
optionalCodeToIndex.put(RedirectStatus._PARAMETER_CODE, CallProgressMessageImpl._INDEX_O_RedirectStatus);
MessageIndexingPlaceHolder CPG_HOLDER = new MessageIndexingPlaceHolder();
CPG_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_CPG;
CPG_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
CPG_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
CPG_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
CPG_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
CPG_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
CPG_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(CPG_HOLDER.commandCode, CPG_HOLDER);
_CPG_HOLDER = CPG_HOLDER;
//CGB
mandatoryCodes.add(CircuitGroupSuperVisionMessageType._PARAMETER_CODE);
mandatoryCodeToIndex.put(CircuitGroupSuperVisionMessageType._PARAMETER_CODE, CircuitGroupBlockingMessageImpl._INDEX_F_CircuitGroupSupervisionMessageType);
mandatoryVariableCodes.add(RangeAndStatus._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(RangeAndStatus._PARAMETER_CODE, CircuitGroupBlockingMessageImpl._INDEX_V_RangeAndStatus);
MessageIndexingPlaceHolder CGB_HOLDER = new MessageIndexingPlaceHolder();
CGB_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_CGB;
CGB_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
CGB_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
CGB_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
CGB_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
CGB_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
CGB_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(CGB_HOLDER.commandCode, CGB_HOLDER);
_CGB_HOLDER = CGB_HOLDER;
//CGBA
mandatoryCodes.add(CircuitGroupSuperVisionMessageType._PARAMETER_CODE);
mandatoryCodeToIndex.put(CircuitGroupSuperVisionMessageType._PARAMETER_CODE, CircuitGroupBlockingAckMessageImpl._INDEX_F_CircuitGroupSupervisionMessageType);
mandatoryVariableCodes.add(RangeAndStatus._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(RangeAndStatus._PARAMETER_CODE, CircuitGroupBlockingAckMessageImpl._INDEX_V_RangeAndStatus);
MessageIndexingPlaceHolder CGBA_HOLDER = new MessageIndexingPlaceHolder();
CGBA_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_CGBA;
CGBA_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
CGBA_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
CGBA_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
CGBA_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
CGBA_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
CGBA_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(CGBA_HOLDER.commandCode, CGBA_HOLDER);
_CGBA_HOLDER = CGBA_HOLDER;
//CQM
mandatoryVariableCodes.add(RangeAndStatus._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(RangeAndStatus._PARAMETER_CODE, CircuitGroupQueryMessageImpl._INDEX_V_RangeAndStatus);
MessageIndexingPlaceHolder CQM_HOLDER = new MessageIndexingPlaceHolder();
CQM_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_CQM;
CQM_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
CQM_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
CQM_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
CQM_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
CQM_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
CQM_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(CQM_HOLDER.commandCode, CQM_HOLDER);
_CQM_HOLDER = CQM_HOLDER;
//CQR
mandatoryVariableCodes.add(RangeAndStatus._PARAMETER_CODE);
mandatoryVariableCodes.add(CircuitStateIndicator._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(RangeAndStatus._PARAMETER_CODE, CircuitGroupQueryResponseMessageImpl._INDEX_V_RangeAndStatus);
mandatoryVariableCodeToIndex.put(CircuitStateIndicator._PARAMETER_CODE, CircuitGroupQueryResponseMessageImpl._INDEX_V_CircuitStateIndicator);
MessageIndexingPlaceHolder CQR_HOLDER = new MessageIndexingPlaceHolder();
CQR_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_CQR;
CQR_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
CQR_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
CQR_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
CQR_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
CQR_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
CQR_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(CQR_HOLDER.commandCode, CQR_HOLDER);
_CQR_HOLDER = CQR_HOLDER;
//GRS
mandatoryVariableCodes.add(RangeAndStatus._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(RangeAndStatus._PARAMETER_CODE, CircuitGroupResetMessageImpl._INDEX_V_RangeAndStatus);
MessageIndexingPlaceHolder GRS_HOLDER = new MessageIndexingPlaceHolder();
GRS_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_GRS;
GRS_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
GRS_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
GRS_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
GRS_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
GRS_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
GRS_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(GRS_HOLDER.commandCode, GRS_HOLDER);
_GRS_HOLDER = GRS_HOLDER;
//GRA
mandatoryVariableCodes.add(RangeAndStatus._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(RangeAndStatus._PARAMETER_CODE, CircuitGroupResetAckMessageImpl._INDEX_V_RangeAndStatus);
MessageIndexingPlaceHolder GRA_HOLDER = new MessageIndexingPlaceHolder();
GRA_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_GRA;
GRA_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
GRA_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
GRA_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
GRA_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
GRA_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
GRA_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(GRA_HOLDER.commandCode, GRA_HOLDER);
_GRA_HOLDER = GRA_HOLDER;
//CGU
mandatoryCodes.add(CircuitGroupSuperVisionMessageType._PARAMETER_CODE);
mandatoryCodeToIndex.put(CircuitGroupSuperVisionMessageType._PARAMETER_CODE, CircuitGroupUnblockingMessageImpl._INDEX_F_CircuitGroupSupervisionMessageType);
mandatoryVariableCodes.add(RangeAndStatus._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(RangeAndStatus._PARAMETER_CODE, CircuitGroupUnblockingMessageImpl._INDEX_V_RangeAndStatus);
MessageIndexingPlaceHolder CGU_HOLDER = new MessageIndexingPlaceHolder();
CGU_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_CGU;
CGU_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
CGU_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
CGU_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
CGU_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
CGU_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
CGU_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(CGU_HOLDER.commandCode, CGU_HOLDER);
_CGU_HOLDER = CGU_HOLDER;
//CGUA
mandatoryCodes.add(CircuitGroupSuperVisionMessageType._PARAMETER_CODE);
mandatoryCodeToIndex.put(CircuitGroupSuperVisionMessageType._PARAMETER_CODE, CircuitGroupUnblockingAckMessageImpl._INDEX_F_CircuitGroupSupervisionMessageType);
mandatoryVariableCodes.add(RangeAndStatus._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(RangeAndStatus._PARAMETER_CODE, CircuitGroupUnblockingAckMessageImpl._INDEX_V_RangeAndStatus);
MessageIndexingPlaceHolder CGUA_HOLDER = new MessageIndexingPlaceHolder();
CGUA_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_CGUA;
CGUA_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
CGUA_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
CGUA_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
CGUA_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
CGUA_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
CGUA_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(CGUA_HOLDER.commandCode, CGUA_HOLDER);
_CGUA_HOLDER = CGUA_HOLDER;
//FIXME: CNF
//FIXME: CON
//FIXME: COT
// CCR
MessageIndexingPlaceHolder CCR_HOLDER = new MessageIndexingPlaceHolder();
CCR_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_CCR;
CCR_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
CCR_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
CCR_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
CCR_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
CCR_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
CCR_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(CCR_HOLDER.commandCode, CCR_HOLDER);
_CCR_HOLDER = CCR_HOLDER;
//FIXME: FAC
//FIXME: FAA
//FIXME: FRJ
//FIXME: FAR
//FIXME: FOT
//FIXME: IDR
//FIXME: IRS
//FIXME: INF
//IAM
mandatoryCodes.add(NatureOfConnectionIndicators._PARAMETER_CODE);
mandatoryCodes.add(ForwardCallIndicators._PARAMETER_CODE);
mandatoryCodes.add(CallingPartyCategory._PARAMETER_CODE);
mandatoryCodes.add(TransmissionMediumRequirement._PARAMETER_CODE);
mandatoryCodeToIndex.put(NatureOfConnectionIndicators._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_F_NatureOfConnectionIndicators);
mandatoryCodeToIndex.put(ForwardCallIndicators._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_F_NatureOfConnectionIndicators);
mandatoryCodeToIndex.put(CallingPartyCategory._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_F_CallingPartyCategory);
mandatoryCodeToIndex.put(TransmissionMediumRequirement._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_F_TransmissionMediumRequirement);
mandatoryVariableCodes.add(CalledPartyNumber._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(CalledPartyNumber._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_V_CalledPartyNumber);
optionalCodes.add(TransitNetworkSelection._PARAMETER_CODE);
optionalCodes.add(CallReference._PARAMETER_CODE);
optionalCodes.add(CallingPartyNumber._PARAMETER_CODE);
optionalCodes.add(OptionalForwardCallIndicators._PARAMETER_CODE);
optionalCodes.add(RedirectingNumber._PARAMETER_CODE);
optionalCodes.add(RedirectionInformation._PARAMETER_CODE);
optionalCodes.add(ClosedUserGroupInterlockCode._PARAMETER_CODE);
optionalCodes.add(ConnectionRequest._PARAMETER_CODE);
optionalCodes.add(OriginalCalledNumberImpl._PARAMETER_CODE);
optionalCodes.add(UserToUserInformation._PARAMETER_CODE);
optionalCodes.add(AccessTransport._PARAMETER_CODE);
optionalCodes.add(UserServiceInformation._PARAMETER_CODE);
optionalCodes.add(UserToUserIndicators._PARAMETER_CODE);
optionalCodes.add(GenericNumber._PARAMETER_CODE);
optionalCodes.add(PropagationDelayCounter._PARAMETER_CODE);
optionalCodes.add(UserServiceInformationPrime._PARAMETER_CODE);
optionalCodes.add(NetworkSpecificFacility._PARAMETER_CODE);
optionalCodes.add(GenericDigits._PARAMETER_CODE);
optionalCodes.add(OriginatingISCPointCode._PARAMETER_CODE);
optionalCodes.add(UserTeleserviceInformation._PARAMETER_CODE);
optionalCodes.add(RemoteOperations._PARAMETER_CODE);
optionalCodes.add(ParameterCompatibilityInformation._PARAMETER_CODE);
optionalCodes.add(GenericNotificationIndicator._PARAMETER_CODE);
optionalCodes.add(ServiceActivation._PARAMETER_CODE);
optionalCodes.add(GenericReference._PARAMETER_CODE);
optionalCodes.add(MLPPPrecedence._PARAMETER_CODE);
optionalCodes.add(TransimissionMediumRequierementPrime._PARAMETER_CODE);
optionalCodes.add(LocationNumber._PARAMETER_CODE);
optionalCodes.add(ForwardGVNS._PARAMETER_CODE);
optionalCodes.add(CCSS._PARAMETER_CODE);
optionalCodes.add(NetworkManagementControls._PARAMETER_CODE);
optionalCodeToIndex.put(TransitNetworkSelection._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_TransitNetworkSelection);
optionalCodeToIndex.put(CallReference._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_CallReference);
optionalCodeToIndex.put(CallingPartyNumber._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_CallingPartyNumber);
optionalCodeToIndex.put(OptionalForwardCallIndicators._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_OptionalForwardCallIndicators);
optionalCodeToIndex.put(RedirectingNumber._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_RedirectingNumber);
optionalCodeToIndex.put(RedirectionInformation._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_RedirectionInformation);
optionalCodeToIndex.put(ClosedUserGroupInterlockCode._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_ClosedUserGroupInterlockCode);
optionalCodeToIndex.put(ConnectionRequest._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_ConnectionRequest);
optionalCodeToIndex.put(OriginalCalledNumberImpl._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_OriginalCalledNumber);
optionalCodeToIndex.put(UserToUserInformation._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_UserToUserInformation);
optionalCodeToIndex.put(AccessTransport._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_AccessTransport);
optionalCodeToIndex.put(UserServiceInformation._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_UserServiceInformation);
optionalCodeToIndex.put(UserToUserIndicators._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_User2UIndicators);
optionalCodeToIndex.put(GenericNumber._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_GenericNumber);
optionalCodeToIndex.put(PropagationDelayCounter._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_PropagationDelayCounter);
optionalCodeToIndex.put(UserServiceInformationPrime._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_UserServiceInformationPrime);
optionalCodeToIndex.put(NetworkSpecificFacility._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_NetworkSPecificFacility);
optionalCodeToIndex.put(GenericDigits._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_GenericDigits);
optionalCodeToIndex.put(OriginatingISCPointCode._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_OriginatingISCPointCode);
optionalCodeToIndex.put(UserTeleserviceInformation._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_UserTeleserviceInformation);
optionalCodeToIndex.put(RemoteOperations._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_RemoteOperations);
optionalCodeToIndex.put(ParameterCompatibilityInformation._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_ParameterCompatibilityInformation);
optionalCodeToIndex.put(GenericNotificationIndicator._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_GenericNotificationIndicator);
optionalCodeToIndex.put(ServiceActivation._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_ServiceActivation);
optionalCodeToIndex.put(GenericReference._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_GenericReference);
optionalCodeToIndex.put(MLPPPrecedence._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_MLPPPrecedence);
optionalCodeToIndex.put(TransimissionMediumRequierementPrime._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_TransimissionMediumRequierementPrime);
optionalCodeToIndex.put(LocationNumber._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_LocationNumber);
optionalCodeToIndex.put(ForwardGVNS._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_ForwardGVNS);
optionalCodeToIndex.put(CCSS._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_CCSS);
optionalCodeToIndex.put(NetworkManagementControls._PARAMETER_CODE, InitialAddressMessageImpl._INDEX_O_NetworkManagementControls);
MessageIndexingPlaceHolder IAM_HOLDER = new MessageIndexingPlaceHolder();
IAM_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_IAM;
IAM_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
IAM_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
IAM_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
IAM_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
IAM_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
IAM_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(IAM_HOLDER.commandCode, IAM_HOLDER);
_IAM_HOLDER = IAM_HOLDER;
// LPA
MessageIndexingPlaceHolder LPA_HOLDER = new MessageIndexingPlaceHolder();
LPA_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_LPA;
LPA_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
LPA_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
LPA_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
LPA_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
LPA_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
LPA_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(LPA_HOLDER.commandCode, LPA_HOLDER);
_LPA_HOLDER = LPA_HOLDER;
//FIXME: LPP
//FIXME: NRM
// OLM
MessageIndexingPlaceHolder OLM_HOLDER = new MessageIndexingPlaceHolder();
OLM_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_OLM;
OLM_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
OLM_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
OLM_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
OLM_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
OLM_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
OLM_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(OLM_HOLDER.commandCode, OLM_HOLDER);
_OLM_HOLDER = OLM_HOLDER;
//FIXME: PAM
//FIXME: PRI
//REL
mandatoryVariableCodes.add(CauseIndicators._PARAMETER_CODE);
mandatoryVariableCodeToIndex.put(CauseIndicators._PARAMETER_CODE, ReleaseMessageImpl._INDEX_V_CauseIndicators);
optionalCodes.add(RedirectionInformation._PARAMETER_CODE);
optionalCodes.add(RedirectionNumber._PARAMETER_CODE);
optionalCodes.add(AccessTransport._PARAMETER_CODE);
optionalCodes.add(SignalingPointCode._PARAMETER_CODE);
optionalCodes.add(UserToUserInformation._PARAMETER_CODE);
optionalCodes.add(AutomaticCongestionLevel._PARAMETER_CODE);
optionalCodes.add(NetworkSpecificFacility._PARAMETER_CODE);
optionalCodes.add(AccessDeliveryInformation._PARAMETER_CODE);
optionalCodes.add(ParameterCompatibilityInformation._PARAMETER_CODE);
optionalCodes.add(UserToUserIndicators._PARAMETER_CODE);
optionalCodes.add(DisplayInformation._PARAMETER_CODE);
optionalCodes.add(RemoteOperations._PARAMETER_CODE);
optionalCodes.add(HTRInformation._PARAMETER_CODE);
optionalCodes.add(RedirectCounter._PARAMETER_CODE);
optionalCodes.add(RedirectBackwardInformation._PARAMETER_CODE);
optionalCodeToIndex.put(RedirectionInformation._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_RedirectionInformation);
optionalCodeToIndex.put(RedirectionNumber._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_RedirectionNumber);
optionalCodeToIndex.put(AccessTransport._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_AccessTransport);
optionalCodeToIndex.put(SignalingPointCode._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_SignalingPointCode);
optionalCodeToIndex.put(UserToUserInformation._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_U2UInformation);
optionalCodeToIndex.put(AutomaticCongestionLevel._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_AutomaticCongestionLevel);
optionalCodeToIndex.put(NetworkSpecificFacility._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_NetworkSpecificFacility);
optionalCodeToIndex.put(AccessDeliveryInformation._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_AccessDeliveryInformation);
optionalCodeToIndex.put(ParameterCompatibilityInformation._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_ParameterCompatibilityInformation);
optionalCodeToIndex.put(UserToUserIndicators._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_U2UIndicators);
optionalCodeToIndex.put(DisplayInformation._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_DisplayInformation);
optionalCodeToIndex.put(RemoteOperations._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_RemoteOperations);
optionalCodeToIndex.put(HTRInformation._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_HTRInformation);
optionalCodeToIndex.put(RedirectCounter._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_RedirectCounter);
optionalCodeToIndex.put(RedirectBackwardInformation._PARAMETER_CODE, ReleaseMessageImpl._INDEX_O_RedirectBackwardInformation);
MessageIndexingPlaceHolder REL_HOLDER = new MessageIndexingPlaceHolder();
REL_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_REL;
REL_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
REL_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
REL_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
REL_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
REL_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
REL_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(REL_HOLDER.commandCode, REL_HOLDER);
_REL_HOLDER = REL_HOLDER;
//RLC
optionalCodes.add(CauseIndicators._PARAMETER_CODE);
optionalCodeToIndex.put(CauseIndicators._PARAMETER_CODE, ReleaseCompleteMessageImpl._INDEX_O_CauseIndicators);
MessageIndexingPlaceHolder RLC_HOLDER = new MessageIndexingPlaceHolder();
RLC_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_RLC;
RLC_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
RLC_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
RLC_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
RLC_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
RLC_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
RLC_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(RLC_HOLDER.commandCode, RLC_HOLDER);
_RLC_HOLDER = RLC_HOLDER;
// RSC
MessageIndexingPlaceHolder RSC_HOLDER = new MessageIndexingPlaceHolder();
RSC_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_RSC;
RSC_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
RSC_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
RSC_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
RSC_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
RSC_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
RSC_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(RSC_HOLDER.commandCode, RSC_HOLDER);
_RSC_HOLDER = RSC_HOLDER;
//FIXME: RES
//FIXME: SGM
//FIXME: SAM
//FIXME: SDN
//FIXME: SUS
// UBL
MessageIndexingPlaceHolder UBL_HOLDER = new MessageIndexingPlaceHolder();
UBL_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_UBL;
UBL_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
UBL_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
UBL_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
UBL_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
UBL_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
UBL_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(UBL_HOLDER.commandCode, UBL_HOLDER);
_UBL_HOLDER = UBL_HOLDER;
// UBA
MessageIndexingPlaceHolder UBA_HOLDER = new MessageIndexingPlaceHolder();
UBA_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_UBA;
UBA_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
UBA_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
UBA_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
UBA_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
UBA_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
UBA_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(UBA_HOLDER.commandCode, UBA_HOLDER);
_UBA_HOLDER = UBA_HOLDER;
// UCIC
MessageIndexingPlaceHolder UCIC_HOLDER = new MessageIndexingPlaceHolder();
UCIC_HOLDER.commandCode = ISUPMessage._MESSAGE_CODE_UCIC;
UCIC_HOLDER.mandatoryCodes = Collections.unmodifiableSet(mandatoryCodes);
UCIC_HOLDER.mandatoryVariableCodes = Collections.unmodifiableSet(mandatoryVariableCodes);
UCIC_HOLDER.optionalCodes = Collections.unmodifiableSet(optionalCodes);
UCIC_HOLDER.mandatoryCodeToIndex=Collections.unmodifiableMap(mandatoryCodeToIndex);
UCIC_HOLDER.mandatoryVariableCodeToIndex=Collections.unmodifiableMap(mandatoryVariableCodeToIndex);
UCIC_HOLDER.optionalCodeToIndex=Collections.unmodifiableMap(optionalCodeToIndex);
mandatoryCodes = new HashSet<Integer>();
mandatoryVariableCodes= new HashSet<Integer>();
optionalCodes= new HashSet<Integer>();
mandatoryCodeToIndex = new HashMap<Integer, Integer>();
mandatoryVariableCodeToIndex = new HashMap<Integer, Integer>();
optionalCodeToIndex = new HashMap<Integer, Integer>();
//_commandCode2CommandIndexes.put(UCIC_HOLDER.commandCode, UCIC_HOLDER);
_UCIC_HOLDER = UCIC_HOLDER;
//FIXME: UPA
//FIXME: UPT
//FIXME: U2UI
//_COMMAND_CODE_2_COMMAND_INDEXES = Collections.unmodifiableMap(_commandCode2CommandIndexes);
}
private static class MessageIndexingPlaceHolder
{
int commandCode;
// magic
Set<Integer> mandatoryCodes;
Set<Integer> mandatoryVariableCodes;
Set<Integer> optionalCodes;
Map<Integer, Integer> mandatoryCodeToIndex;
Map<Integer, Integer> mandatoryVariableCodeToIndex;
Map<Integer, Integer> optionalCodeToIndex;
}
}