org.jacorb.notification

Class EventChannelFactoryImpl

Implemented Interfaces:
Configurable, Disposable, EventChannelFactoryOperations, InvokeHandler, JacORBEventChannelFactoryOperations, ManageableServant

public class EventChannelFactoryImpl
extends JacORBEventChannelFactoryPOA
implements Disposable, ManageableServant, Configurable

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.35 2004/05/06 12:39:59 nicolas Exp $

Author:
Alphonse Bendt

Method Summary

POA
_default_POA()
Object
activate()
void
addEventChannelEventListener(EventChannelEventListener listener)
void
configure(Configuration conf)
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.
EventChannelImpl
create_channel_servant(int channelID, Property qualitiyOfServiceProperties, Property administrativeProperties)
void
deactivate()
void
destroy()
void
dispose()
protected void
eventChannelServantCreated(EventChannelImpl servant)
ApplicationContext
getApplicationContext()
String
getCorbaLoc()
EventChannelFactory
getEventChannelFactory()
String
getIOR()
protected ORB
getORB()
Servant
getServant()
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.
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.
EventChannelImpl
get_event_channel_servant(int id)
StaticEventChannelFactoryInfo
get_static_info()
static void
main(String[] args)
static EventChannelFactoryImpl
newFactory()
static EventChannelFactoryImpl
newFactory(String[] args)
void
preActivate()
void
removeEventChannelEventListener(EventChannelEventListener listener)
void
setDestroyMethod(Runnable destroyMethod)
void
setORB(ORB orb)
void
setPOA(POA poa)
void
shutdown(org.jacorb.notification.EventChannelFactoryImpl.ShutdownCallback cb)

Methods inherited from class org.jacorb.notification.JacORBEventChannelFactoryPOA

_all_interfaces, _invoke, _this, _this

Methods inherited from class org.omg.PortableServer.Servant

_all_interfaces, _default_POA, _get_delegate, _get_interface, _get_interface_def, _is_a, _non_existent, _object_id, _orb, _poa, _set_delegate, _this_object, _this_object

Method Details

_default_POA

public POA _default_POA()
Overrides:
_default_POA in interface Servant


activate

public Object activate()
Specified by:
activate in interface ManageableServant


addEventChannelEventListener

public void addEventChannelEventListener(EventChannelEventListener listener)


configure

public void configure(Configuration conf)


create_channel

public EventChannel create_channel(Property qualitiyOfServiceProperties,
                                   Property administrativeProperties,
                                   IntHolder channelIdentifier)
            throws UnsupportedAdmin,
                   UnsupportedQoS
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

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


create_channel_servant

public EventChannelImpl create_channel_servant(int channelID,
                                               Property qualitiyOfServiceProperties,
                                               Property administrativeProperties)
            throws UnsupportedAdmin,
                   UnsupportedQoS,
                   ObjectNotActive,
                   WrongPolicy,
                   ServantAlreadyActive,
                   ConfigurationException


deactivate

public void deactivate()
Specified by:
deactivate in interface ManageableServant


destroy

public void destroy()
Specified by:
destroy in interface JacORBEventChannelFactoryOperations


dispose

public void dispose()
Specified by:
dispose in interface Disposable


eventChannelServantCreated

protected void eventChannelServantCreated(EventChannelImpl servant)


getApplicationContext

public ApplicationContext getApplicationContext()


getCorbaLoc

public String getCorbaLoc()


getEventChannelFactory

public EventChannelFactory getEventChannelFactory()


getIOR

public String getIOR()


getORB

protected ORB getORB()


getServant

public Servant getServant()


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.
Specified by:
get_all_channels in interface EventChannelFactoryOperations

Returns:
an int[] value


get_event_channel

public EventChannel get_event_channel(int id)
            throws ChannelNotFound
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.
Specified by:
get_event_channel in interface EventChannelFactoryOperations

Parameters:

Returns:
an EventChannel corresponding to the input identifier

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


get_event_channel_servant

public EventChannelImpl get_event_channel_servant(int id)
            throws ChannelNotFound


get_static_info

public StaticEventChannelFactoryInfo get_static_info()
Specified by:
get_static_info in interface JacORBEventChannelFactoryOperations


main

public static void main(String[] args)
            throws Exception


newFactory

public static EventChannelFactoryImpl newFactory()
            throws Exception


newFactory

public static EventChannelFactoryImpl newFactory(String[] args)
            throws Exception


preActivate

public void preActivate()
Specified by:
preActivate in interface ManageableServant


removeEventChannelEventListener

public void removeEventChannelEventListener(EventChannelEventListener listener)


setDestroyMethod

public void setDestroyMethod(Runnable destroyMethod)


setORB

public void setORB(ORB orb)
Specified by:
setORB in interface ManageableServant


setPOA

public void setPOA(POA poa)
Specified by:
setPOA in interface ManageableServant


shutdown

public void shutdown(org.jacorb.notification.EventChannelFactoryImpl.ShutdownCallback cb)