VisiBroker for Java

org.omg.CosTypedNotifyChannelAdmin
Interface TypedProxyPushConsumerOperations

All Superinterfaces:
FilterAdminOperations, NotifyPublishOperations, ProxyConsumerOperations, PushConsumerOperations, QoSAdminOperations, org.omg.CosTypedEventComm.TypedPushConsumerOperations
All Known Subinterfaces:
TypedProxyPushConsumer

public interface TypedProxyPushConsumerOperations
extends ProxyConsumerOperations, TypedPushConsumerOperations

The TypedProxyPushConsumer interface supports connections to the channel by suppliers, who will push OMG Event Service style typed events to the channel.

Through inheritance of the ProxyConsumer interface defined in the CosNotifyChannelAdmin module, the TypedProxyPushConsumer interface supports administration of various QoS properties, administration of a list of associated filter objects, and a readonly attribute containing the object reference of the SupplierAdmin1 instance, which created a given TypedProxyPushConsumer instance. In addition, this inheritance implies that a TypedProxyPushConsumer instance supports an operation which will return the list of event types which consumers connected to the same channel are interested in receiving, and an operation, which can return information about the instance?s ability to accept a per-event QoS request.

The TypedProxyPushConsumer interface also inherits from the TypedPushConsumer interface defined within the CosTypedNotifyComm module. This interface supports the event type specific operation(s), which the supplier connected to a TypedProxyPushConsumer instance will invoke to send events to the channel in the form of typed events. And, since the TypedPushConsumer interface inherits from the PushConsumer interface defined in the CosEventComm module, an instance supporting the TypedProxyPushConsumer interface supports the standard push operation with which it can be supplied untyped events, and the operation required to disconnect the TypedProxyPushConsumer from its associated supplier. In addition, since the inherited TypedPushConsumer interface inherits the CosNotifyComm::NotifyPublish interface, a supplier connected to an instance supporting the TypedProxyPushConsumer interface can inform it whenever the list of event types the supplier plans to supply changes.

Finally, the TypedProxyPushConsumer interface defines the operation, which can be invoked by a push supplier to establish the connection over which the push supplier will send events to the channel. Note that this can be either a pure event service style, or a notification service style push supplier.


Method Summary
 void connect_typed_push_supplier(PushSupplier push_supplier)
          This operation is invoked in order to establish a connection between a push-style supplier of typed events, and the notification channel.
 
Methods inherited from interface org.omg.CosNotifyChannelAdmin.ProxyConsumerOperations
MyAdmin, MyType, obtain_subscription_types, 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.TypedPushConsumerOperations
get_typed_consumer
 
Methods inherited from interface org.omg.CosEventComm.PushConsumerOperations
disconnect_push_consumer, push
 
Methods inherited from interface org.omg.CosNotifyComm.NotifyPublishOperations
offer_change
 

Method Detail

connect_typed_push_supplier

void connect_typed_push_supplier(PushSupplier push_supplier)
                                 throws AlreadyConnected
This operation is invoked in order to establish a connection between a push-style supplier of typed events, and the notification channel. Once established, the supplier can proceed to send events to the channel by invoking the event type specific operation(s) supported by the target TypedProxyPushConsumer instance.

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

Note also that because the PushSupplier interface defined in the CosNotifyComm module inherits from the PushSupplier 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 push supplier. The only difference between the two are that the latter also supports the NotifySubscribe interface, and thus can be the target of subscription_change invocations. The implementation of the TypedProxyPushConsumer interface should attempt to narrow the input parameter to CosNotifyComm::PushSupplier in order to determine which style of push supplier is connecting to it.

Parameters:
push_supplier - The reference to an object supporting the PushSupplier interface defined within the CosEventComm module. This reference is that of a supplier that plans to push typed events to the channel with which the target object is associated.
Throws:
AlreadyConnected - If the target object of this operation is already connected to a push supplier object.

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