Package org.igniterealtime.jbosh
Class BOSHClientConnEvent
- java.lang.Object
-
- java.util.EventObject
-
- org.igniterealtime.jbosh.BOSHClientConnEvent
-
- All Implemented Interfaces:
java.io.Serializable
public final class BOSHClientConnEvent extends java.util.EventObjectClient connection event, notifying of changes in connection state. This class is immutable and thread-safe.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ThrowablecauseCause of the session termination, ornull.private booleanconnectedBoolean flag indicating whether or not a session has been established and is currently active.private java.util.List<ComposableBody>requestsList of outstanding requests which may not have been sent and/or acknowledged by the remote CM.private static longserialVersionUIDSerialized version.
-
Constructor Summary
Constructors Modifier Constructor Description privateBOSHClientConnEvent(BOSHClient source, boolean cConnected, java.util.List<ComposableBody> cRequests, java.lang.Throwable cCause)Creates a new connection event instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static BOSHClientConnEventcreateConnectionClosedEvent(BOSHClient source)Creates a new successful connection closed event.(package private) static BOSHClientConnEventcreateConnectionClosedOnErrorEvent(BOSHClient source, java.util.List<ComposableBody> outstanding, java.lang.Throwable cause)Creates a connection closed on error event.(package private) static BOSHClientConnEventcreateConnectionEstablishedEvent(BOSHClient source)Creates a new connection establishment event.BOSHClientgetBOSHClient()Gets the client from which this event originated.java.lang.ThrowablegetCause()Returns the underlying cause of the error condition.java.util.List<ComposableBody>getOutstandingRequests()Get the list of requests which may not have been sent or were not acknowledged by the remote connection manager prior to session termination.booleanisConnected()Returns whether or not the session has been successfully established and is currently active.booleanisError()Returns whether or not this event indicates an error condition.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
Serialized version.- See Also:
- Constant Field Values
-
connected
private final boolean connected
Boolean flag indicating whether or not a session has been established and is currently active.
-
requests
private final java.util.List<ComposableBody> requests
List of outstanding requests which may not have been sent and/or acknowledged by the remote CM.
-
cause
private final java.lang.Throwable cause
Cause of the session termination, ornull.
-
-
Constructor Detail
-
BOSHClientConnEvent
private BOSHClientConnEvent(BOSHClient source, boolean cConnected, java.util.List<ComposableBody> cRequests, java.lang.Throwable cCause)
Creates a new connection event instance.- Parameters:
source- event sourcecConnected- flag indicating whether or not the session is currently activecRequests- outstanding requests when an error condition is detected, ornullwhen not an error conditioncCause- cause of the error condition, ornullwhen no error condition is present
-
-
Method Detail
-
createConnectionEstablishedEvent
static BOSHClientConnEvent createConnectionEstablishedEvent(BOSHClient source)
Creates a new connection establishment event.- Parameters:
source- client which has become connected- Returns:
- event instance
-
createConnectionClosedEvent
static BOSHClientConnEvent createConnectionClosedEvent(BOSHClient source)
Creates a new successful connection closed event. This represents a clean termination of the client session.- Parameters:
source- client which has been disconnected- Returns:
- event instance
-
createConnectionClosedOnErrorEvent
static BOSHClientConnEvent createConnectionClosedOnErrorEvent(BOSHClient source, java.util.List<ComposableBody> outstanding, java.lang.Throwable cause)
Creates a connection closed on error event. This represents an unexpected termination of the client session.- Parameters:
source- client which has been disconnectedoutstanding- list of requests which may not have been received by the remote connection managercause- cause of termination- Returns:
- event instance
-
getBOSHClient
public BOSHClient getBOSHClient()
Gets the client from which this event originated.- Returns:
- client instance
-
isConnected
public boolean isConnected()
Returns whether or not the session has been successfully established and is currently active.- Returns:
trueif a session is active,falseotherwise
-
isError
public boolean isError()
Returns whether or not this event indicates an error condition. This will never returntruewhenisConnected()returnstrue.- Returns:
trueif the event indicates a terminal error has occurred,falseotherwise.
-
getCause
public java.lang.Throwable getCause()
Returns the underlying cause of the error condition. This method is guaranteed to returnnullwhen @{code isError()} returnsfalse. Similarly, this method is guaranteed to return non-@{code null} ifisError()returnstrue.- Returns:
- underlying cause of the error condition, or
nullif this event does not represent an error condition
-
getOutstandingRequests
public java.util.List<ComposableBody> getOutstandingRequests()
Get the list of requests which may not have been sent or were not acknowledged by the remote connection manager prior to session termination.- Returns:
- list of messages which may not have been received by the remote connection manager, or an empty list if the session is still connected
-
-