org.omg.CosNotifyChannelAdmin
Interface ConsumerAdmin
- All Superinterfaces:
- ConsumerAdmin, ConsumerAdminOperations, FilterAdmin, FilterAdminOperations, org.omg.CORBA.portable.IDLEntity, NotifySubscribe, NotifySubscribeOperations, org.omg.CORBA.Object, QoSAdmin, QoSAdminOperations, java.io.Serializable
- All Known Subinterfaces:
- TypedConsumerAdmin
public interface ConsumerAdmin
- extends ConsumerAdminOperations, QoSAdmin, NotifySubscribe, FilterAdmin, ConsumerAdmin, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity
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.
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.CORBA.Object |
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override |
Methods inherited from interface org.omg.CORBA.Object |
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override |
Methods inherited from interface org.omg.CORBA.Object |
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override |
Methods inherited from interface org.omg.CORBA.Object |
_create_request, _create_request, _duplicate, _get_domain_managers, _get_interface_def, _get_policy, _hash, _is_a, _is_equivalent, _non_existent, _release, _request, _set_policy_override |