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

All Methods Instance Methods Abstract Methods
`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