public interface Channel
Modifier and Type | Interface | Description |
---|---|---|
static class |
Channel.ChannelPattern |
This enum provides constants of the three channel patterns that are
described in section 2.2.1 Channel Globbing of
the Bayeux Protocol.
|
Modifier and Type | Method | Description |
---|---|---|
void |
addSubChannel(Channel child) |
Add one immediate child channel to this channel.
|
void |
destroy(Client client) |
Destroy this channel and all subchannels beneath it
|
java.util.List<Channel> |
getAllSubChannels() |
Return the list of all child channels for the current channel.
|
java.util.List<Client> |
getClients(Channel.ChannelPattern pattern) |
Return list of clients subscribed this channel or its
children, depending on pattern parameter passed in.
|
java.lang.String |
getName() |
Return channel name defined in Bayeux protcol:
|
Channel |
getParentChannel() |
Return current channel's parent or null if current channel is root.
|
java.util.List<Channel> |
getSubChannels() |
Return the list of immediate child channels for the current channel.
|
void |
publish(Client client,
BayeuxMessage message,
Channel.ChannelPattern pattern) |
Publish to this channel or its child channels with specified pattern.
|
void |
removeSubChannel(Channel child) |
Remove sub channel from this channel.
|
void |
subscribe(Client client) |
Subscribe to this channel.
|
void |
subscribe(Client client,
Channel.ChannelPattern pattern) |
Subscribe to this channel or its child channels with specified pattern.
|
void |
unsubscribe(Client client) |
Unsubscribe from all of this channel.
|
void |
unsubscribe(Client client,
Channel.ChannelPattern pattern) |
Unsubscribe from this channel.
|
java.lang.String getName()
channel_name = "/" channel_segments channel_segments = channel_segment *( "/" channel_segment ) channel_segment = token
Channel getParentChannel()
java.util.List<Channel> getSubChannels()
java.util.List<Channel> getAllSubChannels()
void addSubChannel(Channel child)
child
- child channel.void removeSubChannel(Channel child)
child
- child channel.void destroy(Client client)
client
- Client object.java.util.List<Client> getClients(Channel.ChannelPattern pattern)
pattern
- subscribe pattern, valid values are ITSELF,
IMMEDIATE_SUBCHANNELS, ALL_SUBCHANNELSvoid subscribe(Client client) throws PubSubSecurityException
This method is equivalent to: subscribe(client, ChannelPattern.ITSELF);
client
- client object.PubSubSecurityException
- when any security error occurs.void subscribe(Client client, Channel.ChannelPattern pattern) throws PubSubSecurityException
client
- client to subscribe this channelpattern
- pattern deciding which channels beneath the current channel
should be subscribed.PubSubSecurityException
- If security permission checking failure.void unsubscribe(Client client)
This method is equivalent to: unsubscribe(client, ChannelPattern.ITSELF); unsubscribe(client, ChannelPattern.IMMEDIATE_SUBCHANNELS); unsubscribe(client, ChannelPattern.ALL_SUBCHANNELS);
client
- client object.void unsubscribe(Client client, Channel.ChannelPattern pattern)
client
- client to unsubscribe this channelpattern
- pattern deciding which channels beneath the current channel
should be unsubscribed.void publish(Client client, BayeuxMessage message, Channel.ChannelPattern pattern) throws PubSubSecurityException
client
- Client to publish to this channelmessage
- BayeuxMessage to publishpattern
- channel pattern to decide where to publishPubSubSecurityException
- If no permission to publish