com.threerings.crowd.client
Class TestClient

java.lang.Object
  extended by com.threerings.crowd.client.TestClient
All Implemented Interfaces:
ClientObserver, SessionObserver

public class TestClient
extends Object
implements ClientObserver

A client that is useful when doing unit testing.


Nested Class Summary
protected  class TestClient.CrowdContextImpl
           
 
Field Summary
protected  ChatDirector _chatdir
           
protected  Client _client
           
protected  CrowdContext _ctx
           
protected  LocationDirector _locdir
           
protected  MessageManager _msgmgr
           
protected  OccupantDirector _occdir
           
protected  BasicRunQueue _rqueue
           
 
Constructor Summary
TestClient(String username)
           
 
Method Summary
 void clientConnectionFailed(Client client, Exception cause)
          Called when the connection to the server went away for some unexpected reason.
 void clientDidClear(Client client)
          Called after the client is completely logged off from a successful session and is ready to reconnect to a new server if desired.
 void clientDidLogoff(Client client)
          Called after the client has been logged off of the server and has disconnected.
 void clientDidLogon(Client client)
          Called after the client successfully connected to and authenticated with the server.
 void clientFailedToLogon(Client client, Exception cause)
          Called if anything fails during the logon attempt.
 void clientObjectDidChange(Client client)
          For systems that allow switching screen names after logon, this method is called whenever a screen name change takes place to report that the client object has been replaced to potential client-side subscribers.
 boolean clientWillLogoff(Client client)
          Called when an abortable logoff request is made.
 void clientWillLogon(Client client)
          Called immediately before a logon is attempted.
protected  CrowdContext createContext()
           
static void main(String[] args)
           
 void run()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_client

protected Client _client

_ctx

protected CrowdContext _ctx

_locdir

protected LocationDirector _locdir

_occdir

protected OccupantDirector _occdir

_msgmgr

protected MessageManager _msgmgr

_chatdir

protected ChatDirector _chatdir

_rqueue

protected BasicRunQueue _rqueue
Constructor Detail

TestClient

public TestClient(String username)
Method Detail

run

public void run()

clientWillLogon

public void clientWillLogon(Client client)
Description copied from interface: SessionObserver
Called immediately before a logon is attempted.

Specified by:
clientWillLogon in interface SessionObserver

clientDidLogon

public void clientDidLogon(Client client)
Description copied from interface: SessionObserver
Called after the client successfully connected to and authenticated with the server. The entire object system is up and running by the time this method is called.

Specified by:
clientDidLogon in interface SessionObserver

clientObjectDidChange

public void clientObjectDidChange(Client client)
Description copied from interface: SessionObserver
For systems that allow switching screen names after logon, this method is called whenever a screen name change takes place to report that the client object has been replaced to potential client-side subscribers.

Specified by:
clientObjectDidChange in interface SessionObserver

clientFailedToLogon

public void clientFailedToLogon(Client client,
                                Exception cause)
Description copied from interface: ClientObserver
Called if anything fails during the logon attempt. This could be a network failure, authentication failure or otherwise. The exception provided will indicate the cause of the failure.

Specified by:
clientFailedToLogon in interface ClientObserver
cause - an exception indicating the cause of the logon failure. Note: this may be a LogonException and if so, the caller must check LogonException.isStillInProgress() to find out if the logon process has totally failed or if we are simply reporting intermediate status (we might be falling back to an alternative port or delaying our auto-retry attempt due to server overload).

clientConnectionFailed

public void clientConnectionFailed(Client client,
                                   Exception cause)
Description copied from interface: ClientObserver
Called when the connection to the server went away for some unexpected reason. This will be followed by a call to SessionObserver.clientDidLogoff(com.threerings.presents.client.Client).

Specified by:
clientConnectionFailed in interface ClientObserver

clientWillLogoff

public boolean clientWillLogoff(Client client)
Description copied from interface: ClientObserver
Called when an abortable logoff request is made. If the observer returns false from this method, the client will abort the logoff request.

Specified by:
clientWillLogoff in interface ClientObserver

clientDidLogoff

public void clientDidLogoff(Client client)
Description copied from interface: SessionObserver
Called after the client has been logged off of the server and has disconnected.

Specified by:
clientDidLogoff in interface SessionObserver

clientDidClear

public void clientDidClear(Client client)
Description copied from interface: ClientObserver
Called after the client is completely logged off from a successful session and is ready to reconnect to a new server if desired. This will only be called after an active session was terminated, not after a logon attempt failed as that failure will be reported by ClientObserver.clientFailedToLogon(com.threerings.presents.client.Client, java.lang.Exception).

Specified by:
clientDidClear in interface ClientObserver

createContext

protected CrowdContext createContext()

main

public static void main(String[] args)