org.jacorb.notification

Class EventChannelFactoryImpl

public class EventChannelFactoryImpl extends AbstractChannelFactory implements JacORBEventChannelFactoryOperations

EventChannelFactoryImpl is a implementation of the EventChannelFactory interface which defines operations for creating and managing new Notification Service style event channels. It supports a routine that creates new instances of Notification Service event channels and assigns unique numeric identifiers to them. In addition the EventChannelFactory interface supports a routing, which can return the unique identifiers assigned to all event channels created by a given instance of EventChannelFactory, and another routine which, given the unique identifier of an event channel created by a target EventChannelFactory instance, returns the object reference of that event channel.

Version: $Id: EventChannelFactoryImpl.java,v 1.45 2006/05/23 10:40:35 alphonse.bendt Exp $

Author: Alphonse Bendt

Constructor Summary
EventChannelFactoryImpl(MutablePicoContainer container, ORB orb)
Method Summary
protected voidchannelCreated(AbstractEventChannel channel)
protected Objectcreate_abstract_channel(Property[] admin, Property[] qos, IntHolder id)
EventChannelcreate_channel(Property[] qualitiyOfServiceProperties, Property[] administrativeProperties, IntHolder channelIdentifier)
The create_channel operation is invoked to create a new instance of the Notification Service style event channel.
EventChannelFactorygetEventChannelFactory()
protected StringgetObjectName()
ServantgetServant()
protected StringgetShortcut()
int[]get_all_channels()
The get_all_channels operation returns a sequence of all of the unique numeric identifiers corresponding to Notification Service event channels, which have been created by the target object.
EventChannelget_event_channel(int id)
The get_event_channel operation accepts as input a numeric value that is supposed to be the unique identifier of a Notification Service event channel, which has been created by the target object.
protected AbstractEventChannelnewEventChannel()

Constructor Detail

EventChannelFactoryImpl

public EventChannelFactoryImpl(MutablePicoContainer container, ORB orb)

Method Detail

channelCreated

protected void channelCreated(AbstractEventChannel channel)

create_abstract_channel

protected Object create_abstract_channel(Property[] admin, Property[] qos, IntHolder id)

create_channel

public EventChannel create_channel(Property[] qualitiyOfServiceProperties, Property[] administrativeProperties, IntHolder channelIdentifier)
The create_channel operation is invoked to create a new instance of the Notification Service style event channel. This operation accepts two input parameters. The first input parameter is a list of name-value pairs, which specify the initial QoS property settings for the new channel. The second input parameter is a list of name-value pairs, which specify the initial administrative property settings for the new channel.
If no implementation of the EventChannel Interface exists that can support all of the requested administrative property settings, the UnsupportedAdmin exception is raised This exception contains as data a sequence of data structures, each identifies the name of an administrative property in the input list whose requested setting could not be satisfied, along with an error code and a range of settings for the property which could be satisfied. The meanings of the error codes that might be returned are described in Notification Service Specification Table 2-5 on page 2-46.
If neither of these exceptions is raised, the create_channel operation will return a reference to a new Notification Service style event channel. In addition, the operation assigns to this new event channel a numeric identifier, which is unique among all event channels created by the target object. This numeric identifier is returned as an output parameter.

Parameters: qualitiyOfServiceProperties a list of name-value pairs, which specify the initial QoS property settings for the new channel administrativeProperties a list of name-value pairs, which specify the initial administrative property settings for the new channel channelIdentifier a reference to the new event channel

Returns: a newly created event channel

Throws: UnsupportedAdmin if no implementation supports the requested administrative settings UnsupportedQoS if no implementation supports the requested QoS settings

getEventChannelFactory

public EventChannelFactory getEventChannelFactory()

getObjectName

protected String getObjectName()

getServant

public Servant getServant()

getShortcut

protected String getShortcut()

get_all_channels

public int[] get_all_channels()
The get_all_channels operation returns a sequence of all of the unique numeric identifiers corresponding to Notification Service event channels, which have been created by the target object.

Returns: an int[] value

get_event_channel

public EventChannel get_event_channel(int id)
The get_event_channel operation accepts as input a numeric value that is supposed to be the unique identifier of a Notification Service event channel, which has been created by the target object. If this input value does not correspond to such a unique identifier, the ChannelNotFound exception is raised. Otherwise, the operation returns the object reference of the Notification Service event channel corresponding to the input identifier.

Parameters: id an int the unique identifier of a Notification Service event channel

Returns: an EventChannel corresponding to the input identifier

Throws: ChannelNotFound if the input value does not correspond to a Notification Service event channel

newEventChannel

protected AbstractEventChannel newEventChannel()