com.threerings.crowd.client
Class PlaceControllerDelegate

java.lang.Object
  extended by com.threerings.crowd.client.PlaceControllerDelegate

public class PlaceControllerDelegate
extends Object

Provides an extensible mechanism for encapsulating delegated functionality that works with the place services.

Thanks to Java's lack of multiple inheritance, it will likely become necessary to factor certain services that might be used by a variety of PlaceController derived classes into delegate classes because they do not fit into the single inheritance hierarchy that makes sense for a particular application. To facilitate this process, this delegate class is provided which the standard place controller can be made to call out to for all of the standard methods.


Field Summary
protected  PlaceController _controller
          A reference to the controller for which we are delegating.
 
Constructor Summary
PlaceControllerDelegate(PlaceController controller)
          Constructs the delegate with the controller for which it is delegating.
 
Method Summary
 void didLeavePlace(PlaceObject plobj)
          Called to let the delegate know that we've left the place.
 boolean handleAction(ActionEvent action)
          Called to give the delegate a chance to handle controller actions that weren't handled by the main controller.
 void init(CrowdContext ctx, PlaceConfig config)
          Called to initialize the delegate.
 void mayLeavePlace(PlaceObject plobj)
          Called before a request is submitted to the server to leave the current place.
 void willEnterPlace(PlaceObject plobj)
          Called to let the delegate know that we're entering a place.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_controller

protected PlaceController _controller
A reference to the controller for which we are delegating.

Constructor Detail

PlaceControllerDelegate

public PlaceControllerDelegate(PlaceController controller)
Constructs the delegate with the controller for which it is delegating.

Method Detail

init

public void init(CrowdContext ctx,
                 PlaceConfig config)
Called to initialize the delegate.


willEnterPlace

public void willEnterPlace(PlaceObject plobj)
Called to let the delegate know that we're entering a place.


mayLeavePlace

public void mayLeavePlace(PlaceObject plobj)
Called before a request is submitted to the server to leave the current place. The request to leave may be rejected, but if a place controller needs to make a final communication 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 didLeavePlace(com.threerings.crowd.data.PlaceObject) is called, the place manager may have already been destroyed.


didLeavePlace

public void didLeavePlace(PlaceObject plobj)
Called to let the delegate know that we've left the place.


handleAction

public boolean handleAction(ActionEvent action)
Called to give the delegate a chance to handle controller actions that weren't handled by the main controller.