Package org.cometd.bayeux.server
Interface ConfigurableServerChannel
- All Superinterfaces:
Channel
- All Known Subinterfaces:
ServerChannel
- All Known Implementing Classes:
ServerChannelImpl
public interface ConfigurableServerChannel extends Channel
A ConfigurableServerChannel
offers an API that can be used to
configure ServerChannel
s at creation time.
ServerChannel
s may be created concurrently via
BayeuxServer.createChannelIfAbsent(String, ConfigurableServerChannel.Initializer...)
and it is important that the creation of a channel is atomic so that its
configuration is executed only once, and so that it is guaranteed that
it happens before any message can be published or received by the channel.
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ConfigurableServerChannel.Initializer
A listener interface by means of which listeners can atomically set the initial configuration of a channel.static interface
ConfigurableServerChannel.ServerChannelListener
Common interface forServerChannel
listeners. -
Field Summary
Fields inherited from interface org.cometd.bayeux.Channel
META, META_CONNECT, META_DISCONNECT, META_HANDSHAKE, META_SUBSCRIBE, META_UNSUBSCRIBE, SERVICE
-
Method Summary
Modifier and Type Method Description void
addAuthorizer(Authorizer authorizer)
Adds the givenAuthorizer
that grants or denies operations on this channel.void
addListener(ConfigurableServerChannel.ServerChannelListener listener)
List<Authorizer>
getAuthorizers()
long
getLazyTimeout()
List<ConfigurableServerChannel.ServerChannelListener>
getListeners()
boolean
isLazy()
boolean
isPersistent()
void
removeAuthorizer(Authorizer authorizer)
Removes the givenAuthorizer
.void
removeListener(ConfigurableServerChannel.ServerChannelListener listener)
void
setLazy(boolean lazy)
A lazy channel marks all messages published to it as lazy.void
setLazyTimeout(long lazyTimeout)
Sets the lazy timeout for this channel.void
setPersistent(boolean persistent)
A persistent channel is not removed when the last subscription is removedMethods inherited from interface org.cometd.bayeux.Channel
getAttribute, getAttributeNames, getChannelId, getId, isBroadcast, isDeepWild, isMeta, isService, isWild, removeAttribute, setAttribute
-
Method Details
-
addListener
- Parameters:
listener
- the listener to add- See Also:
removeListener(ServerChannelListener)
-
removeListener
- Parameters:
listener
- the listener to remove- See Also:
addListener(ServerChannelListener)
-
getListeners
List<ConfigurableServerChannel.ServerChannelListener> getListeners()- Returns:
- an immutable list of listeners
- See Also:
addListener(ServerChannelListener)
-
isLazy
boolean isLazy()- Returns:
- whether the channel is lazy
- See Also:
setLazy(boolean)
-
setLazy
void setLazy(boolean lazy)A lazy channel marks all messages published to it as lazy.- Parameters:
lazy
- whether the channel is lazy- See Also:
isLazy()
-
getLazyTimeout
long getLazyTimeout()- Returns:
- the lazy timeout for this channel
- See Also:
setLazyTimeout(long)
-
setLazyTimeout
void setLazyTimeout(long lazyTimeout)Sets the lazy timeout for this channel. A positive value makes the channel lazy, a negative value makes the channel non-lazy.- Parameters:
lazyTimeout
- the lazy timeout for this channel- See Also:
setLazy(boolean)
-
isPersistent
boolean isPersistent()- Returns:
- whether the channel is persistent
- See Also:
setPersistent(boolean)
-
setPersistent
void setPersistent(boolean persistent)A persistent channel is not removed when the last subscription is removed- Parameters:
persistent
- whether the channel is persistent- See Also:
isPersistent()
-
addAuthorizer
Adds the given
Authorizer
that grants or denies operations on this channel.Operations must be granted by at least one Authorizer and must not be denied by any.
- Parameters:
authorizer
- the Authorizer to add- See Also:
removeAuthorizer(Authorizer)
,Authorizer
-
removeAuthorizer
Removes the given
Authorizer
.- Parameters:
authorizer
- the Authorizer to remove- See Also:
addAuthorizer(Authorizer)
-
getAuthorizers
List<Authorizer> getAuthorizers()- Returns:
- an immutable list of authorizers for this channel
-