VisiBroker for Java

org.omg.CosTypedNotifyChannelAdmin
Interface TypedSupplierAdminOperations

All Superinterfaces:
FilterAdminOperations, NotifyPublishOperations, QoSAdminOperations, SupplierAdminOperations, org.omg.CosTypedEventChannelAdmin.TypedSupplierAdminOperations
All Known Subinterfaces:
TypedSupplierAdmin

public interface TypedSupplierAdminOperations
extends SupplierAdminOperations, org.omg.CosTypedEventChannelAdmin.TypedSupplierAdminOperations

The TypedSupplierAdmin interface defines the behavior supported by objects that create and manage lists of proxy consumer objects within a Notification Service typed event channel. Similar to its untyped counterpart, a Notification Service typed event channel can have any number of TypedSupplierAdmin instances associated with it. Each such instance is responsible for creating and managing a list of proxy consumer objects that share a common set of QoS property settings, and a common set of filter objects. This feature enables clients to conveniently group proxy supplier objects within a channel into groupings that each support a set of consumers with a common set of QoS requirements and event subscriptions.

Note that the TypedSupplierAdmin interface inherits from SupplierAdmin interface defined in the CosNotifyChannelAdmin module, and the TypedSupplierAdmin interface defined in the CosTypedEventChannelAdmin module. These inheritance relationships have several implications for a Notification Service style TypedSupplierAdmin instance.

First, inheritance of the SupplierAdmin interface defined in the CosNotifyChannelAdmin module implies that in addition to being capable of creating and managing Notification Service style typed proxy consumer objects, a TypedSupplierAdmin instance can also create and manage instances supporting any of the proxy consumer interfaces defined in the CosNotifyChannelAdmin module. In addition, since the SupplierAdmin interface defined in the CosNotifyChannelAdmin module inherits from the SupplierAdmin interface defined in the CosEventChannelAdmin module, a TypedSupplierAdmin can also create and manage OMG Event service style untyped proxy consumer objects.

Likewise, inheritance of the TypedSupplierAdmin interface defined in the CosTypedEventChannelAdmin module implies that an instance supporting the CosTypedNotifyChannelAdmin?s version of TypedSupplierAdmin can create and manage OMG Event Service style typed proxy consumer objects as well.

Thus, instances supporting the TypedSupplierAdmin interface defined in the CosTypedNotifyChannelAdmin module can potentially create and manage instances supporting any of the proxy consumer interfaces defined in the CosEventChannelAdmin, CosNotifyChannelAdmin, CosTypedEventChannelAdmin, and the CosTypedNotifyChannelAdmin (due to locally defined factory operations) modules. The implication of this is that a Notification Service style typed event channel can support OMG Event Service style untyped and typed suppliers, along with all variations of suppliers defined in the Notification Service as clients.

Note also that the inherited CosNotifyChannelAdmin::SupplierAdmin interface provides an instance supporting the CosTypedNotifyChannelAdmin::TypedSupplierAdmin interface with the behaviors necessary to associate unique identifiers with the proxy consumer objects it creates. While the TypedSupplierAdmin interface defined here is capable of creating OMG Event Service style untyped and typed proxy supplier objects, only instances of the proxy supplier interfaces defined in the Notification Service can have associated unique identifiers.

Similarly, the inheritance of the SupplierAdmin interface defined in the CosNotifyChannelAdmin module provides an instance supporting the TypedSupplierAdmin interface defined in the CosTypedNotifyChannelAdmin module with the behaviors necessary to maintain associated QoS property settings and filter objects. Note again that QoS property settings and filter objects can only be associated with Notification Service style proxy consumers, both typed and untyped.

Inheritance of the SupplierAdmin interface defined in CosNotifyChannelAdmin also implies that TypedSupplierAdmin also inherits from the NotifyPublish interface defined in CosNotifyComm. This inheritance enables optimizing the notification of a group of proxy consumer objects that have been created by the same TypedSupplierAdmin instance of changes to the types of events being offered to them by suppliers, since this inheritance enables a TypedSupplierAdmin instance to be the target of an offer_change operation. Lastly, inheritance of the SupplierAdmin interface defined in CosNotifyChannelAdmin implies that an instance of the TypedSupplierAdmin interface supports readonly attributes that maintain the unique identifier of the instance supplied to it by its creating channel, the object reference of the creating channel, and the flag which indicates whether AND or OR semantics will be used when combining the filter objects associated with a TypedSupplierAdmin with those defined on specific proxy consumers created by the TypedSupplierAdmin.

Locally, the TypedSupplierAdmin interface supports the operations that create new Notification Service style typed proxy consumer instances. Note lastly that due to inheritance of the SupplierAdmin interface defined in the CosNotifyChannelAdmin module, an instance supporting the TypedSupplierAdmin interface supports a readonly attribute which maintains a unique identifier assigned to the instance by the channel which created it.


Method Summary
 TypedProxyPullConsumer obtain_typed_notification_pull_consumer(java.lang.String uses_interface, IntHolder proxy_id)
          The obtain_typed_notification_pull_consumer operation is used to create a new Notification Service style proxy consumer instance, which will support a connection to the channel with which the target TypedSupplierAdmin instance is associated by a pull-style supplier of typed events.
 TypedProxyPushConsumer obtain_typed_notification_push_consumer(java.lang.String supported_interface, IntHolder proxy_id)
          The obtain_typed_notification_push_consumer operation is used to create a new Notification Service style proxy consumer instance, which will support a connection to the channel with which the target TypedSupplierAdmin instance is associated by a push-style supplier of typed events.
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.SupplierAdminOperations
destroy, get_proxy_consumer, MyChannel, MyID, MyOperator, obtain_notification_pull_consumer, obtain_notification_push_consumer, pull_consumers, push_consumers
 
Methods inherited from interface org.omg.CosNotification.QoSAdminOperations
get_qos, set_qos, validate_qos
 
Methods inherited from interface org.omg.CosNotifyComm.NotifyPublishOperations
offer_change
 
Methods inherited from interface org.omg.CosNotifyFilter.FilterAdminOperations
add_filter, get_all_filters, get_filter, remove_all_filters, remove_filter
 
Methods inherited from interface org.omg.CosTypedEventChannelAdmin.TypedSupplierAdminOperations
obtain_typed_pull_consumer, obtain_typed_push_consumer
 
Methods inherited from interface org.omg.CosEventChannelAdmin.SupplierAdminOperations
obtain_pull_consumer, obtain_push_consumer
 

Method Detail

obtain_typed_notification_pull_consumer

TypedProxyPullConsumer obtain_typed_notification_pull_consumer(java.lang.String uses_interface,
                                                               IntHolder proxy_id)
                                                               throws org.omg.CosTypedEventChannelAdmin.NoSuchImplementation,
                                                                      AdminLimitExceeded
The obtain_typed_notification_pull_consumer operation is used to create a new Notification Service style proxy consumer instance, which will support a connection to the channel with which the target TypedSupplierAdmin instance is associated by a pull-style supplier of typed events. This target TypedSupplierAdmin instance creates a new instance supporting the TypedProxyPullConsumer interface defined in the CosTypedNotifyChannelAdmin module. This interface can subsequently be used for a pull-style supplier of typed events to establish a connection to the Notification Service typed event channel.

Parameters:
uses_interface - A string, which identifies the name of a strongly typed interface that the newly created TypedProxyPullConsumer instance should use when invoking operations upon its associated TypedPullSupplier instance to receive events.
proxy_id - An output parameter containing a numeric identifier corresponding to the newly created TypedProxyPullConsumer instance. This identifier is unique through out all TypedProxyPullConsumer instances created by this TypedSupplierAdmin instance. This unique identifier could subsequently be used as the input parameter to the get_proxy_consumer operation inherited by the target TypedSupplierAdmin instance in order to obtain the reference to the newly created TypedProxyPullConsumer instance.
Returns:
The reference of the newly created TypedProxyPullConsumer instance.
Throws:
org.omg.CosTypedEventChannelAdmin.NoSuchImplementation - If the target TypedSupplierAdmin instance cannot locate an implementation of the TypedProxyPullConsumer interface, which will use the requested strongly typed interface to receive events from a TypedPullSupplier, the NoSuchImplementation exception defined the CosTypedEventChannelAdmin module is raised.
AdminLimitExceeded - If the number of suppliers currently connected to the channel with which the target TypedSupplierAdmin object is associated exceeds the value of the MaxSuppliers administrative property.

obtain_typed_notification_push_consumer

TypedProxyPushConsumer obtain_typed_notification_push_consumer(java.lang.String supported_interface,
                                                               IntHolder proxy_id)
                                                               throws org.omg.CosTypedEventChannelAdmin.InterfaceNotSupported,
                                                                      AdminLimitExceeded
The obtain_typed_notification_push_consumer operation is used to create a new Notification Service style proxy consumer instance, which will support a connection to the channel with which the target TypedSupplierAdmin instance is associated by a push-style supplier of typed events. This target TypedSupplierAdmin instance creates a new instance supporting the TypedProxyPushConsumer interface defined in the CosTypedNotifyChannelAdmin module. This interface can subsequently be used for a push-style supplier of typed events to establish a connection to the Notification Service typed event channel.

Parameters:
supported_interface - A string, which identifies the name of the strongly typed interface that the newly created TypedProxyPushConsumer instance should support. The supplier, which connects to the new TypedProxyPushConsumer would use this strongly typed interface to invoke operations to send typed events to the channel.
proxy_id - An output parameter containing a numeric identifier corresponding to the newly created TypedProxyPushConsumer. This identifier is unique through out all TypedProxyPushConsumer instances created by this TypedSupplierAdmin. This unique identifier could subsequently be used as the input parameter to the get_proxy_consumer operation inherited by the target TypedSupplierAdmin instance in order to obtain the reference to the newly created TypedProxyPushConsumer instance.
Returns:
The reference of the newly created TypedProxyPushConsumer.
Throws:
org.omg.CosTypedEventChannelAdmin.InterfaceNotSupported - If the target TypedSupplierAdmin instance cannot locate an occurrence of the TypedProxyPushConsumer interface, which also supports the requested strongly typed interface.
AdminLimitExceeded - If the number of suppliers currently connected to the channel with which the target TypedSupplierAdmin object is associated exceeds the value of the MaxSuppliers administrative property.

Borland Software Corporation
http://www.borland.com
100 Enterprise Way
Scotts Valley, CA 95066
Voice: (831) 431-1000
pubsweb@borland.com

Read the latest documentation online