com.google.gwt.activity.shared

## Interface Activity

- All Known Implementing Classes:
    AbstractActivity

      public interface Activity

  Implemented by objects that control a piece of user interface, with a life cycle managed by an `ActivityManager`, in response to `PlaceChangeEvent` events as the user navigates through the app.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `mayStop()` Called when the user is trying to navigate away from this activity.
    `void` | `onCancel()` Called when `start(com.google.gwt.user.client.ui.AcceptsOneWidget, com.google.gwt.event.shared.EventBus)` has not yet replied to its callback, but the user has lost interest.
    `void` | `onStop()` Called when the Activity's widget has been removed from view.
    `void` | `start(AcceptsOneWidget panel, EventBus eventBus)` Called when the Activity should ready its widget for the user.

- - ### Method Detail

    - #### mayStop

          java.lang.String mayStop()

      Called when the user is trying to navigate away from this activity.
      Returns:
        A message to display to the user, e.g. to warn of unsaved work, or null to say nothing

    - #### onCancel

          void onCancel()

      Called when `start(com.google.gwt.user.client.ui.AcceptsOneWidget, com.google.gwt.event.shared.EventBus)` has not yet replied to its callback, but the user has lost interest.

    - #### onStop

          void onStop()

      Called when the Activity's widget has been removed from view. All event handlers it registered will have been removed before this method is called.

    - #### start

          void start(AcceptsOneWidget panel,
                   EventBus eventBus)

      Called when the Activity should ready its widget for the user. When the widget is ready (typically after an RPC response has been received), receiver should present it by calling `AcceptsOneWidget.setWidget(com.google.gwt.user.client.ui.IsWidget)` on the given panel.

      Any handlers attached to the provided event bus will be de-registered when the activity is stopped, so activities will rarely need to hold on to the `HandlerRegistration` instances returned by `EventBus.addHandler(com.google.web.bindery.event.shared.Event.Type<H>, H)`.

      Parameters:
        `panel` - the panel to display this activity's widget when it is ready
        `eventBus` - the event bus