Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one or more
   * contributor license agreements.  See the NOTICE file distributed with
   * this work for additional information regarding copyright ownership.
   * The ASF licenses this file to You under the Apache License, Version 2.0
   * (the "License"); you may not use this file except in compliance with
   * the License.  You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package org.apache.cometd.bayeux;
 
 import java.util.List;

A Bayeux Channel represents a channel used to receive messages from and to publish messages to. In order to publish messages to or receive messages from, one must subscribe to the channel. This is easily done by invoking the subscribe method. A channel is created by calling the Bayeux.getChannel(channelId,true) method. A channel can be created either server side by invoking the getChannel, or client side by using the /meta/subscribe message without a wildcard.

Author(s):
Greg Wilkins
Filip Hanik
 
 public interface Channel
 {
    
Returns the id for this channel. The id is unique within bayeux session.

Returns:
String - will never be null.
 
     public String getId();

    
Publishes a message to all the subscribers of this channel. The from is contained within the message, by calling msg.getClient()

Parameters:
data - the message to be published, can not be null.
 
     public void publish(Message msg);
    
    
Publishes more than one message to all the subscribers of this channel. The from is contained within the message, by calling msg[x].getClient()

Parameters:
data - the message to be published, can not be null.
 
     public void publish(Message[] msgs);

    
Non persistent channels are removed when the last subscription is removed. Persistent channels survive periods without any subscribers.

Returns:
true if the Channel will persist without any subscription.
 
     public boolean isPersistent();
    
    

Parameters:
persistent true if the Channel will persist without any subscription.
See also:
isPersistent
 
     public void setPersistent(boolean persistent);
    
    
Subscribes a client to a channel.

Parameters:
subscriber - the client to be subscribed. If the client already is subscribed, this call will not create a duplicate subscription.
 
     public void subscribe(Client subscriber);

    
Unsubscribes a client from a channel

Parameters:
subscriber - the client to be subscribed.
Returns:
- returns the client that was unsubscribed, or null if the client wasn't subscribed.
 
     public Client unsubscribe(Client subscriber);

    
returns a non modifiable list of all the subscribers to this channel.

Returns:
a list of subscribers
 
     public List<ClientgetSubscribers();
    
    
Adds a data filter to this channel. All messages received by this channel will run through this filter.

Parameters:
filter Filter
 
     public void addFilter(DataFilter filter);
    
    
Removes a filter from this channel. returns the filter that was removed, or null if the filter wasn't in the channel.

Parameters:
filter Filter
Returns:
Filter - null if no filter was removed otherwise it returns the filter that was removed.
    public DataFilter removeFilter(DataFilter filter);
New to GrepCode? Check out our FAQ X