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.EventObject
Client 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.Throwable
cause
Cause of the session termination, ornull
.private boolean
connected
Boolean flag indicating whether or not a session has been established and is currently active.private java.util.List<ComposableBody>
requests
List of outstanding requests which may not have been sent and/or acknowledged by the remote CM.private static long
serialVersionUID
Serialized version.
-
Constructor Summary
Constructors Modifier Constructor Description private
BOSHClientConnEvent(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 BOSHClientConnEvent
createConnectionClosedEvent(BOSHClient source)
Creates a new successful connection closed event.(package private) static BOSHClientConnEvent
createConnectionClosedOnErrorEvent(BOSHClient source, java.util.List<ComposableBody> outstanding, java.lang.Throwable cause)
Creates a connection closed on error event.(package private) static BOSHClientConnEvent
createConnectionEstablishedEvent(BOSHClient source)
Creates a new connection establishment event.BOSHClient
getBOSHClient()
Gets the client from which this event originated.java.lang.Throwable
getCause()
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.boolean
isConnected()
Returns whether or not the session has been successfully established and is currently active.boolean
isError()
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, ornull
when not an error conditioncCause
- cause of the error condition, ornull
when 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:
true
if a session is active,false
otherwise
-
isError
public boolean isError()
Returns whether or not this event indicates an error condition. This will never returntrue
whenisConnected()
returnstrue
.- Returns:
true
if the event indicates a terminal error has occurred,false
otherwise.
-
getCause
public java.lang.Throwable getCause()
Returns the underlying cause of the error condition. This method is guaranteed to returnnull
when @{code isError()} returnsfalse
. Similarly, this method is guaranteed to return non-@{code null} ifisError()
returnstrue
.- Returns:
- underlying cause of the error condition, or
null
if 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
-
-