org.omg.CosNotifyChannelAdmin
Interface ConsumerAdminOperations

All Superinterfaces:
ConsumerAdminOperations, FilterAdminOperations, NotifySubscribeOperations, QoSAdminOperations
All Known Subinterfaces:
ConsumerAdmin, TypedConsumerAdmin, TypedConsumerAdminOperations

public interface ConsumerAdminOperations
extends QoSAdminOperations, NotifySubscribeOperations, FilterAdminOperations, ConsumerAdminOperations

The ConsumerAdmin interface defines the behavior supported by objects which create and manage lists of proxy supplier objects within a Notification Service event channel. Recall that a Notification Service event channel can have any number of ConsumerAdmin 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. The ConsumerAdmin interface inherits the QoSAdmin interface defined within the CosNotification module, enabling each ConsumerAdmin instance to manage a set of QoS property settings. These QoS property settings are assigned as the default QoS property settings for any proxy supplier object created by a ConsumerAdmin instance. In addition, the ConsumerAdmin interface inherits from the FilterAdmin interface defined within the CosNotifyFilter module, enabling each ConsumerAdmin instance to maintain a list of filter objects. These filter objects encapsulate subscriptions that will apply to all proxy supplier objects that have been created by a given ConsumerAdmin instance. In order to enable optimizing the notification of a group of proxy supplier objects that have been created by the same ConsumerAdmin instance of changes to these shared filter objects, the ConsumerAdmin interface also inherits from the NotifySubscribe interface defined in the CosNotifyComm module. This inheritance enables a ConsumerAdmin instance to be registered as the callback object for notification of subscription changes made upon filter objects. The ConsumerAdmin interface defined in the CosNotifyChannelAdmin module also inherits from the ConsumerAdmin interface defined in the CosEventChannelAdmin module. This inheritance enables clients to use the ConsumerAdmin interface defined in the CosNotifyChannelAdmin module to create pure OMG Event Service style proxy supplier objects. Proxy supplier objects created in this manner may not support configuration of QoS properties, and may not have associated filter objects. In addition, proxy supplier objects created through the inherited ConsumerAdmin interface will not have unique identifiers associated with them, whereas proxy supplier objects created by invoking the operations supported by the ConsumerAdmin interface defined in the CosNotifyChannelAdmin module will. Locally, the ConsumerAdmin interface supports a readonly attribute which maintains a reference to the EventChannel instance that created a given ConsumerAdmin instance. The ConsumerAdmin interface also supports a readonly attribute which contains a numeric identifier which will be assigned to an instance supporting this interface by its associated Notification Service event channel upon creation of the ConsumerAdmin instance. This identifier will be unique among all ConsumerAdmin instances created by a given channel. As described above, due to inheritance from the FilterAdmin interface, a ConsumerAdmin can maintain a list of filter objects that will be applied to all proxy suppliers it creates. Also recall that each proxy supplier may itself support a list of filter objects that apply only it. When combining multiple filter objects within each of these two lists of filter objects that may be associated with a given proxy supplier, OR semantics are applied. However when combining these two lists during the evaluation of a given event, either AND or OR semantics may be applied. The choice is determined by an input flag upon creation of the ConsumerAdmin, and the operator that will be used for this purpose by a given ConsumerAdmin is maintained in a readonly attribute. The ConsumerAdmin interface also supports attributes which maintain references to priority and lifetime mapping filter objects. These mapping filter objects will be applied to all proxy supplier objects created by a given ConsumerAdmin instance. Each ConsumerAdmin instance assigns a unique numeric identifier to each proxy supplier object it maintains. The ConsumerAdmin interface supports attributes which maintain the list of these unique identifiers associated with the proxy pull and the proxy push suppliers created by a given ConsumerAdmin instance. The ConsumerAdmin interface also supports an operation which, given the unique identifier of a proxy supplier a given ConsumerAdmin instance has created as input, will return the object reference of that proxy supplier object. Additionally, the ConsumerAdmin interface supports operations which can create the various styles of proxy supplier objects supported by the Notification Service event channel. Finally, because clients of a given Notification Service event channel can create any number of ConsumerAdmin instances, a destroy operation is provided by this interface so that clients can clean up instances that are no longer needed.


Method Summary
 void destroy()
          The destroy operation can be invoked to destroy the target ConsumerAdmin instance, freeing all resources consumed by the instance.
 ProxySupplier get_proxy_supplier(int proxy_id)
          The get_proxy_supplier operation accepts as an input parameter the numeric unique identifier associated with one of the proxy supplier objects which has been created by the target ConsumerAdmin instance.
 MappingFilter lifetime_filter()
          The lifetime_filter attribute maintains a reference to a mapping filter object which affects the way in which each proxy supplier object created by the target ConsumerAdmin instance treats each event it receives with respect to lifetime.
 void lifetime_filter(MappingFilter value)
          The lifetime_filter attribute maintains a reference to a mapping filter object which affects the way in which each proxy supplier object created by the target ConsumerAdmin instance treats each event it receives with respect to lifetime.
 EventChannel MyChannel()
          The MyChannel attribute is a readonly attribute which maintains the object reference of the Notification Service event channel that created a given ConsumerAdmin instance.
 int MyID()
          The MyID attribute is a readonly attribute which maintains the unique identifier of the target ConsumerAdmin instance which is assigned to it upon creation by the Notification Service event channel.
 InterFilterGroupOperator MyOperator()
          The MyOperator attribute is a readonly attribute which maintains the information regarding whether AND or OR semantics will be used during the evaluation of a given event against a set of filter objects, when combining the filter objects associated with the target ConsumerAdmin and those defined locally on a given proxy supplier.
 ProxySupplier obtain_notification_pull_supplier(ClientType ctype, org.omg.CORBA.IntHolder proxy_id)
          The obtain_notification_pull_supplier operation can create instances of the various types of pull-style proxy supplier objects defined within the CosNotifyChannelAdmin module.
 ProxySupplier obtain_notification_push_supplier(ClientType ctype, org.omg.CORBA.IntHolder proxy_id)
          The obtain_notification_push_supplier operation can create instances of the various types of push-style proxy supplier objects defined within the CosNotifyChannelAdmin module.
 MappingFilter priority_filter()
          The priority_filter attribute maintains a reference to a mapping filter object which affects the way in which each proxy supplier object created by the target ConsumerAdmin instance treats each event it receives with respect to priority.
 void priority_filter(MappingFilter value)
          The priority_filter attribute maintains a reference to a mapping filter object which affects the way in which each proxy supplier object created by the target ConsumerAdmin instance treats each event it receives with respect to priority.
 int[] pull_suppliers()
          The pull_suppliers attribute is a readonly attribute which contains the list of unique identifiers which have been assigned by a ConsumerAdmin instance to each pull-style proxy supplier object it has created.
 int[] push_suppliers()
          The push_suppliers attribute is a readonly attribute which contains the list of unique identifiers which have been assigned by a ConsumerAdmin instance to each push-style proxy supplier object it has created.
 
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.CosEventChannelAdmin.ConsumerAdminOperations
obtain_pull_supplier, obtain_push_supplier
 

Method Detail

MyID

int MyID()
The MyID attribute is a readonly attribute which maintains the unique identifier of the target ConsumerAdmin instance which is assigned to it upon creation by the Notification Service event channel.


MyChannel

EventChannel MyChannel()
The MyChannel attribute is a readonly attribute which maintains the object reference of the Notification Service event channel that created a given ConsumerAdmin instance.


MyOperator

InterFilterGroupOperator MyOperator()
The MyOperator attribute is a readonly attribute which maintains the information regarding whether AND or OR semantics will be used during the evaluation of a given event against a set of filter objects, when combining the filter objects associated with the target ConsumerAdmin and those defined locally on a given proxy supplier.


priority_filter

MappingFilter priority_filter()
The priority_filter attribute maintains a reference to a mapping filter object which affects the way in which each proxy supplier object created by the target ConsumerAdmin instance treats each event it receives with respect to priority. Note that each proxy supplier object also has an associated attribute which maintains a reference to a mapping filter object for the priority property. This local mapping filter object is only used by the proxy supplier in the event that the priority_filter attribute of the ConsumerAdmin instance which created it is set to OBJECT_NIL. Otherwise, the mapping filter object referred to by the priority_filter attribute of the ConsumerAdmin is used instead of the mapping filter object referred to by the priority_filter attribute defined locally to the proxy supplier object.


priority_filter

void priority_filter(MappingFilter value)
The priority_filter attribute maintains a reference to a mapping filter object which affects the way in which each proxy supplier object created by the target ConsumerAdmin instance treats each event it receives with respect to priority. Note that each proxy supplier object also has an associated attribute which maintains a reference to a mapping filter object for the priority property. This local mapping filter object is only used by the proxy supplier in the event that the priority_filter attribute of the ConsumerAdmin instance which created it is set to OBJECT_NIL. Otherwise, the mapping filter object referred to by the priority_filter attribute of the ConsumerAdmin is used instead of the mapping filter object referred to by the priority_filter attribute defined locally to the proxy supplier object.


lifetime_filter

MappingFilter lifetime_filter()
The lifetime_filter attribute maintains a reference to a mapping filter object which affects the way in which each proxy supplier object created by the target ConsumerAdmin instance treats each event it receives with respect to lifetime. Note that each proxy supplier object also has an associated attribute which maintains a reference to a mapping filter object for the lifetime property. This local mapping filter object is only used by the proxy supplier in the event that the lifetime_filter attribute of the ConsumerAdmin instance which created it is set to OBJECT_NIL. Otherwise, the mapping filter object referred to by the lifetime_filter attribute of the ConsumerAdmin is used instead of the mapping filter object referred to by the lifetime_filter attribute defined locally to the proxy supplier object.


lifetime_filter

void lifetime_filter(MappingFilter value)
The lifetime_filter attribute maintains a reference to a mapping filter object which affects the way in which each proxy supplier object created by the target ConsumerAdmin instance treats each event it receives with respect to lifetime. Note that each proxy supplier object also has an associated attribute which maintains a reference to a mapping filter object for the lifetime property. This local mapping filter object is only used by the proxy supplier in the event that the lifetime_filter attribute of the ConsumerAdmin instance which created it is set to OBJECT_NIL. Otherwise, the mapping filter object referred to by the lifetime_filter attribute of the ConsumerAdmin is used instead of the mapping filter object referred to by the lifetime_filter attribute defined locally to the proxy supplier object.


pull_suppliers

int[] pull_suppliers()
The pull_suppliers attribute is a readonly attribute which contains the list of unique identifiers which have been assigned by a ConsumerAdmin instance to each pull-style proxy supplier object it has created.


push_suppliers

int[] push_suppliers()
The push_suppliers attribute is a readonly attribute which contains the list of unique identifiers which have been assigned by a ConsumerAdmin instance to each push-style proxy supplier object it has created.


get_proxy_supplier

ProxySupplier get_proxy_supplier(int proxy_id)
                                 throws ProxyNotFound
The get_proxy_supplier operation accepts as an input parameter the numeric unique identifier associated with one of the proxy supplier objects which has been created by the target ConsumerAdmin instance. If the input parameter does correspond to the unique identifier of a proxy supplier object that has been created by the target ConsumerAdmin instance, that proxy supplier object?s reference is returned as the result of the operation. Otherwise, the ProxyNotFound exception is raised.

Throws:
ProxyNotFound

obtain_notification_pull_supplier

ProxySupplier obtain_notification_pull_supplier(ClientType ctype,
                                                org.omg.CORBA.IntHolder proxy_id)
                                                throws AdminLimitExceeded
The obtain_notification_pull_supplier operation can create instances of the various types of pull-style proxy supplier objects defined within the CosNotifyChannelAdmin module. Recall that three varieties of pull-style proxy supplier objects are defined within this module: instances of the ProxyPullSupplier interface support connections to pull consumers which receive events as Anys, instances of the StructuredProxyPullSupplier interface support connections to pull consumers which receive events as Structured Events, and instances of the SequenceProxyPullSupplier interface support connections to pull consumers which receive events as sequences of Structured Events. The obtain_notification_pull_supplier operation thus accepts as an input parameter a flag which indicates which style of pull-style proxy supplier instance should be created. If the number of consumers currently connected to the channel with which the target ConsumerAdmin object is associated exceeds the value of the MaxConsumers administrative property, the AdminLimitExceeded exception is raised. Otherwise, the target ConsumerAdmin creates the new pull-style proxy supplier instance and assigns a numeric identifier to it that is unique among all proxy suppliers it has created. The unique identifier is returned as the output parameter of the operation, and the reference to the new proxy supplier instance is returned as the operation result.

Throws:
AdminLimitExceeded

obtain_notification_push_supplier

ProxySupplier obtain_notification_push_supplier(ClientType ctype,
                                                org.omg.CORBA.IntHolder proxy_id)
                                                throws AdminLimitExceeded
The obtain_notification_push_supplier operation can create instances of the various types of push-style proxy supplier objects defined within the CosNotifyChannelAdmin module. Recall that three varieties of push-style proxy supplier objects are defined within this module: instances of the ProxyPushSupplier interface support connections to push consumers which receive events as Anys, instances of the StructuredProxyPushSupplier interface support connections to push consumers which receive events as Structured Events, and instances of the SequenceProxyPushSupplier interface support connections to push consumers which receive events as sequences of Structured Events. The obtain_notification_push_supplier operation thus accepts as an input parameter a flag which indicates which style of push-style proxy supplier instance should be created. If the number of consumers currently connected to the channel with which the target ConsumerAdmin object is associated exceeds the value of the MaxConsumers administrative property, the AdminLimitExceeded exception is raised. Otherwise, the target ConsumerAdmin creates the new push-style proxy supplier instance and assigns a numeric identifier to it that is unique among all proxy suppliers it has created. The unique identifier is returned as the output parameter of the operation, and the reference to the new proxy supplier instance is returned as the operation result.

Throws:
AdminLimitExceeded

destroy

void destroy()
The destroy operation can be invoked to destroy the target ConsumerAdmin instance, freeing all resources consumed by the instance. Note that destroy can be invoked on a ConsumerAdmin instance that is current managing proxy supplier objects that support open connections to consumers. In this case, the effect of invoking destroy on the ConsumerAdmin is that the operation will disconnect each of the proxy supplier objects being managed by the target ConsumerAdmin from their consumers, and destroy each of these proxy suppliers. Ultimately, the ConsumerAdmin instance itself will be destroyed.