git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5964 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Charlie Groves
2009-09-22 00:05:18 +00:00
parent f75d46f75f
commit 3c159a6497
@@ -34,10 +34,9 @@ import com.threerings.crowd.data.PlaceObject;
import com.threerings.crowd.util.CrowdContext;
/**
* Controls the user interface that is used to display a place. When the
* client moves to a new place, the appropriate place controller is
* constructed and requested to create and display the appopriate user
* interface for that place.
* Controls the user interface that is used to display a place. When the client moves to a new
* place, the appropriate place controller is constructed and requested to create and display the
* user interface for that place.
*/
public abstract class PlaceController extends Controller
{
@@ -61,14 +60,12 @@ public abstract class PlaceController extends Controller
}
/**
* Initializes this place controller with a reference to the context
* that they can use to access client services and to the
* configuration record for this place. The controller should create
* as much of its user interface that it can without having access to
* the place object because this will be invoked in parallel with the
* fetching of the place object. When the place object is obtained,
* the controller will be notified and it can then finish the user
* interface configuration and put the user interface into operation.
* Initializes this place controller with a reference to the context that they can use to
* access client services and to the configuration record for this place. The controller
* should create as much of its user interface that it can without having access to the place
* object because this will be invoked in parallel with the fetching of the place object. When
* the place object is obtained, the controller will be notified and it can then finish the
* user interface configuration and put the user interface into operation.
*
* @param ctx the client context.
* @param config the place configuration for this place.
@@ -95,18 +92,16 @@ public abstract class PlaceController extends Controller
}
/**
* Derived classes can override this and perform any
* post-initialization processing they might need. They should of
* course be sure to call <code>super.didInit()</code>.
* Derived classes can override this and perform any post-initialization processing they might
* need. They should of course be sure to call <code>super.didInit()</code>.
*/
protected void didInit ()
{
}
/**
* Returns a reference to the place view associated with this
* controller. This is only valid after a call has been made to {@link
* #init}.
* Returns a reference to the place view associated with this controller. This is only valid
* after a call has been made to {@link #init}.
*/
public PlaceView getPlaceView ()
{
@@ -122,12 +117,10 @@ public abstract class PlaceController extends Controller
}
/**
* Creates the user interface that will be used to display this place.
* The view instance returned will later be configured with the place
* object, once it becomes available.
* Creates the user interface that will be used to display this place. The view instance
* returned will later be configured with the place object, once it becomes available.
*
* @param ctx a reference to the {@link CrowdContext} associated with
* this controller.
* @param ctx a reference to the {@link CrowdContext} associated with this controller.
*/
protected PlaceView createPlaceView (CrowdContext ctx)
{
@@ -135,8 +128,7 @@ public abstract class PlaceController extends Controller
}
/**
* Obsolete but retained for runtime compatibility with the old and
* busted.
* Obsolete but retained for runtime compatibility with the old and busted.
*
* @deprecated Use {@link #createPlaceView(CrowdContext)}.
*/
@@ -147,11 +139,10 @@ public abstract class PlaceController extends Controller
}
/**
* This is called by the location director once the place object has
* been fetched. The place controller will dispatch the place object
* to the user interface hierarchy via {@link
* PlaceViewUtil#dispatchWillEnterPlace}. Derived classes can override
* this and perform any other starting up that they need to do
* This is called by the location director once the place object has been fetched. The place
* controller will dispatch the place object to the user interface hierarchy via
* {@link PlaceViewUtil#dispatchWillEnterPlace}. Derived classes can override this and perform
* any other starting up that they need to do
*/
public void willEnterPlace (final PlaceObject plobj)
{
@@ -175,15 +166,13 @@ public abstract class PlaceController extends Controller
}
/**
* Called before a request is submitted to the server to leave the
* current place. As such, this method may be called multiple times
* before {@link #didLeavePlace} is finally called. The request to
* leave may be rejected, but if a place controller needs to flush any
* information to the place manager before it leaves, it should so do
* here. This is the only place in which the controller is guaranteed
* to be able to communicate to the place manager, as by the time
* {@link #didLeavePlace} is called, the place manager may have
* already been destroyed.
* Called before a request is submitted to the server to leave the current place. As such,
* this method may be called multiple times before {@link #didLeavePlace} is finally called.
* The request to leave may be rejected, but if a place controller needs to flush any
* information to the place manager before it leaves, it should so do here. This is the only
* place in which the controller is guaranteed to be able to communicate to the place manager,
* as by the time {@link #didLeavePlace} is called, the place manager may have already been
* destroyed.
*/
public void mayLeavePlace (final PlaceObject plobj)
{
@@ -197,11 +186,9 @@ public abstract class PlaceController extends Controller
}
/**
* This is called by the location director when we are leaving this
* place and need to clean up after ourselves and shutdown. Derived
* classes should override this method (being sure to call
* <code>super.didLeavePlace</code>) and perform any necessary
* cleanup.
* This is called by the location director when we are leaving this place and need to clean up
* after ourselves and shutdown. Derived classes should override this method (being sure to
* call <code>super.didLeavePlace</code>) and perform any necessary cleanup.
*/
public void didLeavePlace (final PlaceObject plobj)
{
@@ -224,9 +211,8 @@ public abstract class PlaceController extends Controller
}
/**
* Handles basic place controller action events. Derived classes
* should be sure to call <code>super.handleAction</code> for events
* they don't specifically handle.
* Handles basic place controller action events. Derived classes should be sure to call
* <code>super.handleAction</code> for events they don't specifically handle.
*/
@Override
public boolean handleAction (final ActionEvent action)