package org.csstudio.dal.simple;
/**
* Factory interface for creating AnyDataChannnel instances.
*
*/
public interface ChannelFactory
{
/**
* Returns supported connection types.
*
* @see RemoteInfo#getConnectionType()
*
* @return supported connection types.
*/
public String[] getSupportedConnectionTypes() throws Exception;
/** Create a PV for the given channel name, using the PV factory
* selected via the prefix of the channel name, or the default
* PV factory if no prefix is included in the channel name.
*
* @param name Channel name, format "prefix://name" or just "name"
* @return PV
* @exception Exception on error
*/
public AnyDataChannel createChannel(final String name) throws Exception;
/** Create a PV for the given <code>RemoteInfo</code>, using the PV factory.
*
* @param name <code>RemoteInfo</code> object
* @return PV
* @exception Exception on error
*/
public AnyDataChannel createChannel(final RemoteInfo remoteInfo) throws Exception;
}