VisiBroker for Java

org.omg.CosTypedNotifyChannelAdmin
Interface TypedProxyPullSupplierOperations

All Superinterfaces:
FilterAdminOperations, NotifySubscribeOperations, ProxySupplierOperations, PullSupplierOperations, QoSAdminOperations, org.omg.CosTypedEventComm.TypedPullSupplierOperations
All Known Subinterfaces:
TypedProxyPullSupplier

public interface TypedProxyPullSupplierOperations
extends ProxySupplierOperations, TypedPullSupplierOperations

The TypedProxyPullSupplier interface supports connections to the channel by consumers who will pull OMG Event Service style typed events from the channel.

Through inheritance of the ProxySupplier interface, the TypedProxyPullSupplier interface supports administration of various QoS properties, administration of a list of associated filter objects, mapping filters for event priority and lifetime, and a readonly attribute containing the object reference of the ConsumerAdmin2 instance, which created a given TypedProxyPullSupplier instance. In addition, this inheritance implies that a TypedProxyPullSupplier instance supports an operation that will return the list of event types, which the proxy supplier will potentially be supplying, and an operation that can return information about the instance?s ability to accept a per-event QoS request.

The TypedProxyPullSupplier interface also inherits from the TypedPullSupplier interface defined within the CosTypedNotifyComm module. This interface supports the event type specific operation(s), which the consumer connected to a TypedProxyPullSupplier instance will invoke to receive events from the channel in the form of typed events. And, since the TypedPullSupplier interface inherits from the PullSupplier interface defined in the CosEventComm module, an instance supporting the TypedProxyPullSupplier interface supports the standard pull and try_pull operations with which it can supply untyped events, and the operation required to disconnect the TypedProxyPullSupplier from its associated consumer. In addition, since the inherited TypedPullSupplier interface inherits the CosNotifyComm::NotifySubscribe interface, an instance supporting the TypedProxyPullSupplier interface can be informed whenever the list of event types that the consumer connected to it is interested in receiving changes.

Finally, the TypedProxyPullSupplier interface defines the operation, which can be invoked by a pull consumer to establish the connection over which the pull consumer will receive events from the channel. Note that this can be either a pure event service style, or a notification service style pull consumer.


Method Summary
 void connect_typed_pull_consumer(PullConsumer pull_consumer)
          This operation is invoked in order to establish a connection between a pull-style consumer of typed events, and the notification channel.
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.ProxySupplierOperations
lifetime_filter, lifetime_filter, MyAdmin, MyType, obtain_offered_types, priority_filter, priority_filter, validate_event_qos
 
Methods inherited from interface org.omg.CosNotification.QoSAdminOperations
get_qos, set_qos, validate_qos
 
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.CosTypedEventComm.TypedPullSupplierOperations
get_typed_supplier
 
Methods inherited from interface org.omg.CosEventComm.PullSupplierOperations
disconnect_pull_supplier, pull, try_pull
 
Methods inherited from interface org.omg.CosNotifyComm.NotifySubscribeOperations
subscription_change
 

Method Detail

connect_typed_pull_consumer

void connect_typed_pull_consumer(PullConsumer pull_consumer)
                                 throws AlreadyConnected
This operation is invoked in order to establish a connection between a pull-style consumer of typed events, and the notification channel. Once established, the consumer can proceed to receive events from the channel by invoking the event type specific operation(s) supported by the target TypedProxyPullSupplier instance.

Note that since there is no difference between the interfaces of consumers ofuntyped and typed events, it would have sufficed to have the TypedProxyPullSupplier interface to inherit from the ProxyPullSupplier interface defined in the CosNotifyChannelAdmin module, and to not define a separate connect method for pull-style consumers of typed events. It was felt, however, that explicitly defining this operation makes the usage model of the TypedProxyPullSupplier interface more intuitive.

Note also that because the PullConsumer interface defined in the CosNotifyComm module inherits from the PullConsumer interface defined in the CosEventComm module, the input parameter to this operation could be either a pure event service style, or a notification service style pull consumer. The only difference between the two are that the latter also supports the NotifyPublish interface, and thus can be the target of offer_change invocations. The implementation of the TypedProxyPullSupplier interface should attempt to narrow the input parameter to CosNotifyComm::PullConsumer in order to determine which style of pull consumer is connecting to it.

Parameters:
pull_consumer - The reference to an object supporting the PullConsumer interface defined within the CosEventComm module. This reference is that of a consumer, which plans to pull typed events from the channel with which the target object is associated.
Throws:
AlreadyConnected - If the target object of this operation is already connected to a pull consumer object, the AlreadyConnected exception will be raised.

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