blob: 3660d790197ee98d6b948046d471faa0e9fbbb33 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004 Composent, Inc., Peter Nehrer, Boris Bokowski. All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: Composent, Inc. - initial API and implementation
******************************************************************************/
package org.eclipse.ecf.datashare;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.core.identity.Namespace;
/**
* Abstract channel container adapter
*
*/
public interface IAbstractChannelContainerAdaper {
/**
* Add listener for IChannelContainerAdapter events.
*
* @param listener to be added
*/
public void addListener(IChannelContainerListener listener);
/**
* Remove listener for IChannelContainerAdapter events
*
* @param listener to be removed.
*/
public void removeListener(IChannelContainerListener listener);
/**
* Get expected Namespace for channel ID creation
* @return Namespace that can be used to create channel ID instances
* for this channel container
*/
public Namespace getChannelNamespace();
/**
* Get IChannel with given channelID.
* @param channelID the ID of the channel to get
* @return IChannel of channel within container with given ID. Returns null if channel not found.
*/
public IChannel getChannel(ID channelID);
/**
* Remove channel with given ID
* @param channelID the ID of the channel to Remove within this container
* @return true if channel found and Removed. False if channel not found within container.
*/
public boolean removeChannel(ID channelID);
}