public interface Channel
A Bayeux channel is the primary message routing mechanism within Bayeux: both Bayeux clients and Bayeux server use channels to group listeners that are interested in receiving messages with that channel.
This interface is the common root for both the client-side representation of a channel and the server-side representation of a channel.
Channels are identified with strings that look like paths (e.g. "/foo/bar") called "channel id". Meta channels have channel ids starting with "/meta/" and are reserved for the operation of they Bayeux protocol. Service channels have channel ids starting with "/service/" and are channels for which publish is disabled, so that only server side listeners will receive the messages.
A channel id may also be specified with wildcards. For example "/meta/*" refers to all top level meta channels like "/meta/subscribe" or "/meta/handshake". The channel "/foo/**" is deeply wild and refers to all channels like "/foo/bar", "/foo/bar/bob" and "/foo/bar/wibble/bip". Wildcards can only be specified as last segment of a channel; therefore channel "/foo/*/bar/** is an invalid channel.
Modifier and Type | Field and Description |
---|---|
static String |
META
Constant representing the meta prefix
|
static String |
META_CONNECT
Constant representing the connect meta channel
|
static String |
META_DISCONNECT
Constant representing the disconnect meta channel
|
static String |
META_HANDSHAKE
Constant representing the handshake meta channel.
|
static String |
META_SUBSCRIBE
Constant representing the subscribe meta channel
|
static String |
META_UNSUBSCRIBE
Constant representing the unsubscribe meta channel
|
static String |
SERVICE
Constant representing the service prefix
|
Modifier and Type | Method and Description |
---|---|
Object |
getAttribute(String name)
Retrieves the value of named channel attribute.
|
Set<String> |
getAttributeNames() |
ChannelId |
getChannelId() |
String |
getId() |
boolean |
isBroadcast()
A broadcasting channel is a channel that is neither a
meta channel nor a service channel . |
boolean |
isDeepWild()
Tells whether a channel contains the deep wild characters '**', for example
/foo/** |
boolean |
isMeta()
Tells whether the channel is a meta channel, that is if its
id starts with "/meta/" . |
boolean |
isService()
Tells whether the channel is a service channel, that is if its
id starts with "/service/" . |
boolean |
isWild()
Tells whether a channel contains the wild character '*', for example
/foo/* or if it is isDeepWild() . |
Object |
removeAttribute(String name)
Removes a named channel attribute.
|
void |
setAttribute(String name,
Object value)
Sets a named channel attribute value.
|
static final String META
static final String SERVICE
static final String META_HANDSHAKE
static final String META_CONNECT
static final String META_SUBSCRIBE
static final String META_UNSUBSCRIBE
static final String META_DISCONNECT
String getId()
boolean isMeta()
Tells whether the channel is a meta channel, that is if its
id
starts with "/meta/"
.
boolean isService()
Tells whether the channel is a service channel, that is if its
id
starts with "/service/"
.
boolean isBroadcast()
A broadcasting channel is a channel that is neither a
meta channel
nor a service channel
.
boolean isWild()
Tells whether a channel contains the wild character '*', for example
/foo/*
or if it is isDeepWild()
.
boolean isDeepWild()
Tells whether a channel contains the deep wild characters '**', for example
/foo/**
void setAttribute(String name, Object value)
Sets a named channel attribute value.
Channel attributes are convenience data that allows arbitrary application data to be associated with a channel.
name
- the attribute namevalue
- the attribute valueObject getAttribute(String name)
Retrieves the value of named channel attribute.
name
- the name of the attributeCopyright © 2008–2024 The CometD Project. All rights reserved.