javax.sip.TransactionTerminatedEvent Maven / Gradle / Ivy
/**
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Unpublished - rights reserved under the Copyright Laws of the United States.
* Copyright ? 2003 Sun Microsystems, Inc. All rights reserved.
* Copyright ? 2005 BEA Systems, Inc. All rights reserved.
*
* Use is subject to license terms.
*
* This distribution may include materials developed by third parties.
*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
* Module Name : JSIP Specification
* File Name : TransactionTerminatedEvent.java
* Author : Phelim O'Doherty
*
* HISTORY
* Version Date Author Comments
* 1.2 03/05/2005 M. Ranganathan New class
*
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package javax.sip;
import java.util.EventObject;
/**
*
* TransactionTerminatedEvent is delivered to the Listener when the
* transaction transitions to the terminated state. An implementation
* is expected to deliver this event to the listener when it discards
* all internal book keeping records for a given transaction - thereby
* allowing the Listener to unmap its own data structures.
*
* @author BEA Systems, NIST
* @since v1.2
*
*/
public class TransactionTerminatedEvent extends EventObject {
/**
* Constructs a TransactionTerminatedEvent to indicate a server retransmission
* or transaction timeout.
*
* @param source - the source of TransactionTerminatedEvent (the SipProvider associated with the transaction).
* @param serverTransaction - the server transaction that timed out.
*/
public TransactionTerminatedEvent(Object source,
ServerTransaction serverTransaction) {
super(source);
m_serverTransaction = serverTransaction;
m_isServerTransaction = true;
}
/**
* Constructs a TransactionTerminatedEvent to indicate a client
* retransmission or transaction timeout.
*
* @param source - source of TransactionTerminatedEvent (the SipProvider associated with the transaction).
* @param clientTransaction - the client transaction that timed out.
*/
public TransactionTerminatedEvent(Object source,
ClientTransaction clientTransaction) {
super(source);
m_clientTransaction = clientTransaction;
m_isServerTransaction = false;
}
/**
* Gets the server transaction associated with this TransactionTerminatedEvent.
*
* @return server transaction associated with this TransactionTerminatedEvent,
* or null if this event is specific to a client transaction.
*/
public ServerTransaction getServerTransaction(){
return m_serverTransaction;
}
/**
* Gets the client transaction associated with this TransactionTerminatedEvent.
*
* @return client transaction associated with this TransactionTerminatedEvent,
* or null if this event is specific to a server transaction.
*/
public ClientTransaction getClientTransaction(){
return m_clientTransaction;
}
/**
* Indicates if the transaction associated with this
* TransactionTerminatedEvent is a server transaction.
*
* @return returns true if a server transaction or false if a client
* transaction.
*/
public boolean isServerTransaction() {
return m_isServerTransaction;
}
// internal variables
private boolean m_isServerTransaction;
private ServerTransaction m_serverTransaction = null;
private ClientTransaction m_clientTransaction = null;
}