org.richfaces.application.push.impl

## Class RequestImpl

- java.lang.Object
- - org.richfaces.application.push.impl.RequestImpl

- All Implemented Interfaces:
    org.atmosphere.cpr.AtmosphereResourceEventListener, org.richfaces.application.push.Request

      public class RequestImpl
      extends Object
      implements org.richfaces.application.push.Request, org.atmosphere.cpr.AtmosphereResourceEventListener

  Author:
    Nick Belaevski, Lukas Fryc

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RequestImpl(org.atmosphere.cpr.Meteor meteor, org.richfaces.application.push.Session session)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.richfaces.application.push.Session` | `getSession()`
    `boolean` | `isPolling()`
    `void` | `onBroadcast(org.atmosphere.cpr.AtmosphereResourceEvent event)` This method is called once the broadcast event occurs.
    `void` | `onDisconnect(org.atmosphere.cpr.AtmosphereResourceEvent event)`
    `void` | `onResume(org.atmosphere.cpr.AtmosphereResourceEvent event)`
    `void` | `onSuspend(org.atmosphere.cpr.AtmosphereResourceEvent event)`
    `void` | `onThrowable(org.atmosphere.cpr.AtmosphereResourceEvent event)`
    `void` | `postMessages()` Tries to push messages, when there are some in the session's queue.
    `void` | `resume()`
    `void` | `suspend()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RequestImpl

          public RequestImpl(org.atmosphere.cpr.Meteor meteor,
                     org.richfaces.application.push.Session session)

  - ### Method Detail

    - #### suspend

          public void suspend()

      Specified by:
        `suspend` in interface `org.richfaces.application.push.Request`

    - #### resume

          public void resume()

      Specified by:
        `resume` in interface `org.richfaces.application.push.Request`

    - #### isPolling

          public boolean isPolling()

      Specified by:
        `isPolling` in interface `org.richfaces.application.push.Request`

    - #### getSession

          public org.richfaces.application.push.Session getSession()

      Specified by:
        `getSession` in interface `org.richfaces.application.push.Request`

    - #### postMessages

          public void postMessages()

      Tries to push messages, when there are some in the session's queue.

      When detects that request is currently broadcasting, it ignores the call, since the sending of the messages will be proceed later as stated by `onBroadcast(AtmosphereResourceEvent)` method.

      Specified by:
        `postMessages` in interface `org.richfaces.application.push.Request`

    - #### onSuspend

          public void onSuspend(org.atmosphere.cpr.AtmosphereResourceEvent event)

      Specified by:
        `onSuspend` in interface `org.atmosphere.cpr.AtmosphereResourceEventListener`

    - #### onResume

          public void onResume(org.atmosphere.cpr.AtmosphereResourceEvent event)

      Specified by:
        `onResume` in interface `org.atmosphere.cpr.AtmosphereResourceEventListener`

    - #### onDisconnect

          public void onDisconnect(org.atmosphere.cpr.AtmosphereResourceEvent event)

      Specified by:
        `onDisconnect` in interface `org.atmosphere.cpr.AtmosphereResourceEventListener`

    - #### onBroadcast

          public void onBroadcast(org.atmosphere.cpr.AtmosphereResourceEvent event)

      This method is called once the broadcast event occurs.

      Once this event occurs, he broadcasting is done, so we can clean up.

      This method clears the broadcasted messages from session and then opens the request for further broadcasting.

      In case this request is long-polling, the request is completed and client needs to start new request for receiving new messages.

      In another case - the request is done by websocket - it tries to send messages which could be posted when broadcasting.

      Specified by:
        `onBroadcast` in interface `org.atmosphere.cpr.AtmosphereResourceEventListener`

    - #### onThrowable

          public void onThrowable(org.atmosphere.cpr.AtmosphereResourceEvent event)

      Specified by:
        `onThrowable` in interface `org.atmosphere.cpr.AtmosphereResourceEventListener`

Copyright © 2012 JBoss by Red Hat. All Rights Reserved.