Interface Channel
-
- All Known Subinterfaces:
ClientSessionChannel,ConfigurableServerChannel,ServerChannel
public interface ChannelA 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 siderepresentation of a channel and theserver siderepresentation 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.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringMETAConstant representing the meta prefixstatic java.lang.StringMETA_CONNECTConstant representing the connect meta channelstatic java.lang.StringMETA_DISCONNECTConstant representing the disconnect meta channelstatic java.lang.StringMETA_HANDSHAKEConstant representing the handshake meta channel.static java.lang.StringMETA_SUBSCRIBEConstant representing the subscribe meta channelstatic java.lang.StringMETA_UNSUBSCRIBEConstant representing the unsubscribe meta channelstatic java.lang.StringSERVICEConstant representing the service prefix
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.ObjectgetAttribute(java.lang.String name)Retrieves the value of named channel attribute.java.util.Set<java.lang.String>getAttributeNames()ChannelIdgetChannelId()java.lang.StringgetId()booleanisBroadcast()A broadcasting channel is a channel that is neither ameta channelnor aservice channel.booleanisDeepWild()Tells whether a channel contains the deep wild characters '**', for example/foo/**booleanisMeta()Tells whether the channel is a meta channel, that is if itsidstarts with"/meta/".booleanisService()Tells whether the channel is a service channel, that is if itsidstarts with"/service/".booleanisWild()Tells whether a channel contains the wild character '*', for example/foo/*or if it isisDeepWild().java.lang.ObjectremoveAttribute(java.lang.String name)Removes a named channel attribute.voidsetAttribute(java.lang.String name, java.lang.Object value)Sets a named channel attribute value.
-
-
-
Field Detail
-
META
static final java.lang.String META
Constant representing the meta prefix- See Also:
- Constant Field Values
-
SERVICE
static final java.lang.String SERVICE
Constant representing the service prefix- See Also:
- Constant Field Values
-
META_HANDSHAKE
static final java.lang.String META_HANDSHAKE
Constant representing the handshake meta channel.- See Also:
- Constant Field Values
-
META_CONNECT
static final java.lang.String META_CONNECT
Constant representing the connect meta channel- See Also:
- Constant Field Values
-
META_SUBSCRIBE
static final java.lang.String META_SUBSCRIBE
Constant representing the subscribe meta channel- See Also:
- Constant Field Values
-
META_UNSUBSCRIBE
static final java.lang.String META_UNSUBSCRIBE
Constant representing the unsubscribe meta channel- See Also:
- Constant Field Values
-
META_DISCONNECT
static final java.lang.String META_DISCONNECT
Constant representing the disconnect meta channel- See Also:
- Constant Field Values
-
-
Method Detail
-
getId
java.lang.String getId()
- Returns:
- The channel id as a String
-
isMeta
boolean isMeta()
Tells whether the channel is a meta channel, that is if its
idstarts with"/meta/".- Returns:
- true if the channel is a meta channel
-
isService
boolean isService()
Tells whether the channel is a service channel, that is if its
idstarts with"/service/".- Returns:
- true if the channel is a service channel
-
isBroadcast
boolean isBroadcast()
A broadcasting channel is a channel that is neither a
meta channelnor aservice channel.- Returns:
- whether the channel is a broadcasting channel
-
isWild
boolean isWild()
Tells whether a channel contains the wild character '*', for example
/foo/*or if it isisDeepWild().- Returns:
- true if the channel contains the '*' or '**' characters
-
isDeepWild
boolean isDeepWild()
Tells whether a channel contains the deep wild characters '**', for example
/foo/**- Returns:
- true if the channel contains the '**' characters
-
setAttribute
void setAttribute(java.lang.String name, java.lang.Object value)Sets a named channel attribute value.
Channel attributes are convenience data that allows arbitrary application data to be associated with a channel.
- Parameters:
name- the attribute namevalue- the attribute value
-
getAttribute
java.lang.Object getAttribute(java.lang.String name)
Retrieves the value of named channel attribute.
- Parameters:
name- the name of the attribute- Returns:
- the attribute value or null if the attribute is not present
-
getAttributeNames
java.util.Set<java.lang.String> getAttributeNames()
- Returns:
- the list of channel attribute names.
-
removeAttribute
java.lang.Object removeAttribute(java.lang.String name)
Removes a named channel attribute.
- Parameters:
name- the name of the attribute- Returns:
- the value of the attribute
-
-