/protocols/jain-megaco/megaco-api/src/main/java/javax/megaco/message/ContextInfoReq.java
http://mobicents.googlecode.com/ · Java · 83 lines · 15 code · 5 blank · 63 comment · 2 complexity · 93f37c84a7cb4e380987b13eef1584c5 MD5 · raw file
- package javax.megaco.message;
- import javax.megaco.CommandEvent;
- /**
- * The class extends JAIN MEGACO Command Events. This class is used to represent
- * megaco action request event i.e. when an action comes or is to be sent
- * without a command, but has context parameters.
- *
- *
- */
- public class ContextInfoReq extends CommandEvent {
- /**
- * Constructs a Context Information Request Event object.
- *
- * @param source
- * - A reference to the object, the "source", that is logically
- * deemed to be the object upon which the Event in question
- * initially occurred.
- * @param assocHandle
- * - The association handle to uniquely identify the MG-MGC pair.
- * This is allocated by the stack when the Listener registers
- * with the provider with a unique MG-MGC identity.
- * @param transactionHandle
- * - The transaction handle that shall uniquely identify the
- * transaction id for the transaction in which the command shall
- * be sent.
- *
- * <br>
- * 1. The transaction handle is allocated by the stack either on
- * request from User application or on receipt of the transaction
- * indication from peer. <br>
- * 2. If the response is to be sent for the transaction received,
- * then the application sends the same transaction handle that
- * has been received by it in the indication. <br>
- * 3. If the confirmation is to be sent by the stack to the
- * application due to receipt of a response from the peer stack
- * for a request sent by the stack, then the transaction handle
- * shall be same as received in the command request by the stack.
- *
- * @param actionHandle
- * - The action handle uniquely identifies the action within a
- * transaction. The action handle field is used for
- * request-response synchronisation.
- *
- * <br>
- * 1. If the request is sent from application to the remote
- * entity, then the action handle is allocated by the
- * application. On receipt of the response from the peer for the
- * same request, the stack will use the same action handle when
- * giving the confirmation to the application. <br>
- * 2. If the indication received from stack is to be sent to the
- * application, then the action handle is allocated by the stack.
- * The response sent by the application to the stack mus have the
- * same action handle as received in the indication.
- *
- * Note: The action handle can be different from the context id
- * when there are multiple action in the same transaction all
- * having context id as 'null' or 'choose' or '*'.
- * @param isLastActionInTransaction
- * - This parameter specifies whether the action is last action
- * in the transaction.
- * @throws IllegalArgumentException
- * : This exception is raised if the value of transaction handle
- * or the action handle passed to this method is less than 0.
- */
- public ContextInfoReq(java.lang.Object source, int assocHandle, int transactionHandle, int actionHandle, boolean isLastActionInTransaction) throws IllegalArgumentException {
- super(source, assocHandle, transactionHandle, actionHandle, false, isLastActionInTransaction);
- if (transactionHandle < 0 || actionHandle < 0) {
- IllegalArgumentException invalidArgumentException = new IllegalArgumentException("txnHandle or actionHandle cannot be less than 0 for ContextInfoReq");
- // invalidArgumentException.setAssocHandle(assocHandle);
- throw invalidArgumentException;
- }
- }
- @Override
- public int getCommandIdentifier() {
- // TODO Auto-generated method stub
- return CommandType.M_ACTION_REQ;
- }
- }