VisiBroker for Java

org.omg.CosTypedNotifyChannelAdmin
Interface TypedConsumerAdminOperations

All Superinterfaces:
ConsumerAdminOperations, FilterAdminOperations, NotifySubscribeOperations, QoSAdminOperations, org.omg.CosTypedEventChannelAdmin.TypedConsumerAdminOperations
All Known Subinterfaces:
TypedConsumerAdmin

public interface TypedConsumerAdminOperations
extends ConsumerAdminOperations, org.omg.CosTypedEventChannelAdmin.TypedConsumerAdminOperations

The TypedConsumerAdmin interface defines the behavior supported by objects which create and manage lists of proxy supplier objects within a Notification Service typed event channel. Similar to its untyped counterpart, a Notification Service typed event channel can have any number of TypedConsumerAdmin instances associated with it. Each such instance is responsible for creating and managing a list of proxy supplier 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 TypedConsumerAdmin interface inherits from ConsumerAdmin interface defined in the CosNotifyChannelAdmin module, and the TypedConsumerAdmin interface defined in the CosTypedEventChannelAdmin module. These inheritance relationships have several implications for a Notification Service style TypedConsumerAdmin instance.

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

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

Thus, instances supporting the TypedConsumerAdmin interface defined in the CosTypedNotifyChannelAdmin module can potentially create and manage instances supporting any of the proxy supplier 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 consumers, along with all variations of consumers defined in the Notification Service as clients.

Note also that the inherited CosNotifyChannelAdmin::ConsumerAdmin interface provides an instance supporting the CosTypedNotifyChannelAdmin::TypedConsumerAdmin interface with the behaviors necessary to associate unique identifiers with the proxy supplier objects it creates. While the TypedConsumerAdmin 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 ConsumerAdmin interface defined in the CosNotifyChannelAdmin module provides an instance supporting the TypedConsumerAdmin 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 suppliers, both typed and untyped.

Inheritance of the ConsumerAdmin interface defined in CosNotifyChannelAdmin also implies that TypedConsumerAdmin also inherits from the NotifySubscribe interface defined in CosNotifyComm. This inheritance enables optimizing the notification of a group of proxy supplier objects that have been created by the same TypedConsumerAdmin instance of changes to shared filter objects, since this inheritance enables a TypedConsumerAdmin instance to be registered as the callback object for notification of subscription changes made upon filter objects. Lastly, inheritance of the ConsumerAdmin interface defined in CosNotifyChannelAdmin implies that an instance of the TypedConsumerAdmin 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 TypedConsumerAdmin with those defined on specific proxy suppliers created by the TypedConsumerAdmin.

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


Method Summary
 TypedProxyPullSupplier obtain_typed_notification_pull_supplier(java.lang.String supported_interface, IntHolder proxy_id)
          The obtain_typed_notification_pull_supplier operation is used to create a new Notification Service style proxy supplier instance, which will support a connection to the channel with which the target TypedConsumerAdmin instance is associated by a pull-style consumer of typed events.
 TypedProxyPushSupplier obtain_typed_notification_push_supplier(java.lang.String uses_interface, IntHolder proxy_id)
          The obtain_typed_notification_push_supplier operation is used to create a new Notification Service style proxy supplier instance, which will support a connection to the channel with which the target TypedConsumerAdmin instance is associated by a push-style consumer of typed events.
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.ConsumerAdminOperations
destroy, get_proxy_supplier, lifetime_filter, lifetime_filter, MyChannel, MyID, MyOperator, obtain_notification_pull_supplier, obtain_notification_push_supplier, priority_filter, priority_filter, pull_suppliers, push_suppliers
 
Methods inherited from interface org.omg.CosNotification.QoSAdminOperations
get_qos, set_qos, validate_qos
 
Methods inherited from interface org.omg.CosNotifyComm.NotifySubscribeOperations
subscription_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.TypedConsumerAdminOperations
obtain_typed_pull_supplier, obtain_typed_push_supplier
 
Methods inherited from interface org.omg.CosEventChannelAdmin.ConsumerAdminOperations
obtain_pull_supplier, obtain_push_supplier
 

Method Detail

obtain_typed_notification_push_supplier

TypedProxyPushSupplier obtain_typed_notification_push_supplier(java.lang.String uses_interface,
                                                               IntHolder proxy_id)
                                                               throws org.omg.CosTypedEventChannelAdmin.NoSuchImplementation,
                                                                      AdminLimitExceeded
The obtain_typed_notification_push_supplier operation is used to create a new Notification Service style proxy supplier instance, which will support a connection to the channel with which the target TypedConsumerAdmin instance is associated by a push-style consumer of typed events. This target TypedConsumerAdmin instance creates a new instance supporting the TypedProxyPushSupplier interface defined in the CosTypedNotifyChannelAdmin module. This interface can subsequently be used for a push-style consumer 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 TypedProxyPushSupplier instance should use when invoking operations upon its associated TypedPushConsumer instance to send it events.
proxy_id - An output parameter containing a unique identifier corresponding to the new TypedProxyPushSupplier instance. This identifier is unique through out all TypedProxyPushSupplier instances created by this TypedConsumerAdmin so far. This unique identifier could subsequently be used as the input parameter to the get_proxy_supplier operation inherited by the target TypedConsumerAdmin instance in order to obtain the reference to the newly created TypedProxyPushSupplier instance.
Returns:
The reference of the new TypedProxyPushSupplier instance.
Throws:
org.omg.CosTypedEventChannelAdmin.NoSuchImplementation - If the target TypedConsumerAdmin instance cannot locate an implementation of the TypedProxyPullSupplier interface, which will use the requested strongly typed interface to send events to a TypedPushConsumer.
AdminLimitExceeded - If the number of consumers currently connected to the channel with which the target TypedConsumerAdmin object is associated exceeds the value of the MaxConsumers administrative property, the AdminLimitExceeded exception is raised.

obtain_typed_notification_pull_supplier

TypedProxyPullSupplier obtain_typed_notification_pull_supplier(java.lang.String supported_interface,
                                                               IntHolder proxy_id)
                                                               throws org.omg.CosTypedEventChannelAdmin.InterfaceNotSupported,
                                                                      AdminLimitExceeded
The obtain_typed_notification_pull_supplier operation is used to create a new Notification Service style proxy supplier instance, which will support a connection to the channel with which the target TypedConsumerAdmin instance is associated by a pull-style consumer of typed events. The target TypedConsumerAdmin instance creates a new instance supporting the TypedProxyPullSupplier interface defined in the CosTypedNotifyChannelAdmin module. This interface can subsequently be used for a pull-style consumer 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 TypedProxyPullSupplier instance should support. The consumer that connects to the new TypedProxyPullSupplier would use this strongly typed interface to invoke operations to receive typed events.
proxy_id - An output parameter containing a unique identifier corresponding to the new TypedProxyPullSupplier instance. This identifier is unique among all TypedProxyPullSupplier instances created by this implementation so far and can subsequently be used as the input parameter to the get_proxy_supplier operation inherited by the target TypedConsumerAdmin instance in order to obtain the reference to the newly created TypedProxyPullSupplier instance.
Returns:
The reference to the new TypedProxyPullSupplier instance.
Throws:
org.omg.CosTypedEventChannelAdmin.InterfaceNotSupported - If the target TypedConsumerAdmin instance cannot locate an occurrence of the TypedProxyPullSupplier interface, which also supports the requested strongly typed interface.
AdminLimitExceeded - If the number of consumers currently connected to the channel with which the target TypedConsumerAdmin object is associated exceeds the value of the MaxConsumers 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