org.mortbay.cometd
Class ClientImpl

java.lang.Object
  extended by org.mortbay.cometd.ClientImpl
All Implemented Interfaces:
Client
Direct Known Subclasses:
ContinuationClient

public class ClientImpl
extends Object
implements Client

Author:
gregw

Field Summary
protected  AbstractBayeux _bayeux
           
 
Constructor Summary
protected ClientImpl(AbstractBayeux bayeux, String idPrefix, Listener listener)
           
 
Method Summary
protected  void addSubscription(ChannelImpl channel)
           
 void deliver(Client from, Message message)
          Deliver a message to this client only Deliver a message directly to the client.
 void endBatch()
          End a batch of messages.
 boolean equals(Object o)
           
 int getAdviceVersion()
           
 String getBrowserId()
           
 String getConnectionType()
           
 String getId()
           
 Listener getListener()
           
 int getMessages()
           
 boolean hasMessages()
           
 boolean isJSONCommented()
           
 boolean isLocal()
           
 void publish(String toChannel, Object data, String msgId)
          Publish data from this client.
 void remove(boolean timeout)
          Remove Client Unsubscribe client from all channels and remove it.
protected  void removeSubscription(ChannelImpl channel)
           
 int responded()
           
 int responsePending()
           
 void resume()
          Called by deliver to resume anything waiting on this client.
 void setAdviceVersion(int version)
           
 void setBrowserId(String id)
           
protected  void setConnectionType(String type)
           
protected  void setId(String _id)
           
 void setJSONCommented(boolean commented)
           
 void setListener(Listener listener)
           
 void startBatch()
          Start a batch of messages.
 void subscribe(String toChannel)
          Subscribe this client to a channel.
 Message takeMessage()
           
 List<Message> takeMessages()
          Take any messages queued for a client.
 String toString()
           
 void unsubscribe(String toChannel)
          Unsubscribe this client from a channel.
protected  void unsubscribeAll()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_bayeux

protected AbstractBayeux _bayeux
Constructor Detail

ClientImpl

protected ClientImpl(AbstractBayeux bayeux,
                     String idPrefix,
                     Listener listener)
Method Detail

publish

public void publish(String toChannel,
                    Object data,
                    String msgId)
Description copied from interface: Client
Publish data from this client. This is equivalent to Bayeux.publish(Client, String, Object, String) with this client passed as the fromClient.

Specified by:
publish in interface Client
Parameters:
toChannel - The Channel ID to which the data is targetted
data - The data itself which must be an Object that can be encoded with JSON.
msgId - optional message ID or null for automatic generation of a message ID.

subscribe

public void subscribe(String toChannel)
Description copied from interface: Client
Subscribe this client to a channel. This is equivalent to Bayeux.subscribe(String, Client) with this client passed. Equivalent to getChannel(toChannel).subscribe(subscriber).

Specified by:
subscribe in interface Client

unsubscribe

public void unsubscribe(String toChannel)
Description copied from interface: Client
Unsubscribe this client from a channel. This is equivalent to Bayeux.unsubscribe(String, Client) with this client passed.

Specified by:
unsubscribe in interface Client

deliver

public void deliver(Client from,
                    Message message)
Description copied from interface: Client
Deliver a message to this client only Deliver a message directly to the client. The message is not filtered or published to a channel.

Specified by:
deliver in interface Client
Parameters:
from - The Client that published the message, or null if not known/available

startBatch

public void startBatch()
Description copied from interface: Client
Start a batch of messages. Messages will not be delivered remotely until the corresponding endBatch is called. Batches may be nested and messages are only sent once all batches are ended.

Specified by:
startBatch in interface Client

endBatch

public void endBatch()
Description copied from interface: Client
End a batch of messages. Messages will not be delivered that have been queued since the previous startBatch is called. Batches may be nested and messages are only sent once all batches are ended.

Specified by:
endBatch in interface Client

getConnectionType

public String getConnectionType()

getId

public String getId()
Specified by:
getId in interface Client

hasMessages

public boolean hasMessages()
Specified by:
hasMessages in interface Client

isJSONCommented

public boolean isJSONCommented()
Returns:
the commented

isLocal

public boolean isLocal()
Specified by:
isLocal in interface Client
Returns:
True if the client is local. False if this client is either a remote HTTP client or a java client to a remote server.

remove

public void remove(boolean timeout)
Description copied from interface: Client
Remove Client Unsubscribe client from all channels and remove it.

Specified by:
remove in interface Client

responded

public int responded()

responsePending

public int responsePending()

resume

public void resume()
Called by deliver to resume anything waiting on this client.


setJSONCommented

public void setJSONCommented(boolean commented)
Parameters:
commented - the commented to set

setListener

public void setListener(Listener listener)
Specified by:
setListener in interface Client

getListener

public Listener getListener()
Specified by:
getListener in interface Client

getMessages

public int getMessages()

takeMessages

public List<Message> takeMessages()
Description copied from interface: Client
Take any messages queued for a client.

Specified by:
takeMessages in interface Client

takeMessage

public Message takeMessage()

toString

public String toString()
Overrides:
toString in class Object

addSubscription

protected void addSubscription(ChannelImpl channel)

removeSubscription

protected void removeSubscription(ChannelImpl channel)

setConnectionType

protected void setConnectionType(String type)

setId

protected void setId(String _id)

unsubscribeAll

protected void unsubscribeAll()

setBrowserId

public void setBrowserId(String id)

getBrowserId

public String getBrowserId()

equals

public boolean equals(Object o)
Overrides:
equals in class Object

getAdviceVersion

public int getAdviceVersion()
Returns:
the advised

setAdviceVersion

public void setAdviceVersion(int version)
Parameters:
advised - the advised to set


Copyright © 2008 Mort Bay Consulting. All Rights Reserved.