1 package gov.nist.javax.sip; 2 3 import javax.sip.ClientTransaction; 4 import javax.sip.Dialog; 5 import javax.sip.ResponseEvent; 6 import javax.sip.message.Response; 7 8 /** 9 * Extension for ResponseEvent. 10 * 11 * @since v2.0 12 */ 13 public class ResponseEventExt extends ResponseEvent { 14 private ClientTransactionExt m_originalTransaction; ResponseEventExt(Object source, ClientTransactionExt clientTransaction, Dialog dialog, Response response)15 public ResponseEventExt(Object source, ClientTransactionExt clientTransaction, 16 Dialog dialog, Response response) { 17 super(source,clientTransaction,dialog,response); 18 m_originalTransaction = clientTransaction; 19 } 20 21 /** 22 * Return true if this is a forked response. 23 * 24 * @return true if the response event is for a forked response. 25 */ isForkedResponse()26 public boolean isForkedResponse() { 27 return super.getClientTransaction() == null && m_originalTransaction != null; 28 } 29 30 /** 31 * Set the original transaction for a forked response. 32 * 33 * @param originalTransaction - the original transaction for which this response event is a fork. 34 */ setOriginalTransaction(ClientTransactionExt originalTransaction )35 public void setOriginalTransaction(ClientTransactionExt originalTransaction ) { 36 m_originalTransaction = originalTransaction; 37 } 38 39 /** 40 * Get the original transaction for which this is a forked response. 41 * Note that this transaction can be in a TERMINATED state. 42 * 43 * @return the original clientTx for which this is a forked response. 44 */ getOriginalTransaction()45 public ClientTransactionExt getOriginalTransaction() { 46 return this.m_originalTransaction; 47 } 48 49 50 } 51