org.omg.CosNotifyChannelAdmin
Interface SupplierAdminOperations
public
interface
SupplierAdminOperations
extends QoSAdminOperations, NotifyPublishOperations, FilterAdminOperations, SupplierAdminOperations
The SupplierAdmin interface defines the behavior supported by objects which create
and manage lists of proxy consumer objects within a Notification Service event
channel. Recall that a Notification Service event channel can have any number of
SupplierAdmin instances associated with it. Each such instance is responsible for
creating and managing a list of proxy consumer 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 consumer objects within a channel into groupings that
each support a set of suppliers with a common set of QoS requirements, and that make
common event forwarding decisions driven by the association of a common set of filter
objects.
The SupplierAdmin interface inherits the QoSAdmin interface defined within the
CosNotification module, enabling each SupplierAdmin instance to manage a set of
QoS property settings. These QoS property settings are assigned as the default QoS
property settings for any proxy consumer object created by a SupplierAdmin instance.
In addition, the SupplierAdmin interface inherits from the FilterAdmin interface
defined within the CosNotifyFilter module, enabling each SupplierAdmin instance to
maintain a list of filter objects. These filter objects encapsulate subscriptions that will
apply to all proxy consumer objects that have been created by a given SupplierAdmin
instance. In order to enable optimizing the notification of a group of proxy consumer
objects that have been created by the same SupplierAdmin instance of changes to the
types of events being offered by suppliers, the SupplierAdmin interface also inherits
from the NotifyPublish interface defined in the CosNotifyComm module. This
inheritance enables a SupplierAdmin instance to be the target of an offer_change
request made by a supplier object, and for the change in event types being offered to
be shared by all proxy consumer objects which were created by the target
SupplierAdmin.
The SupplierAdmin interface defined in the CosNotifyChannelAdmin module also
inherits from the SupplierAdmin interface defined in the CosEventChannelAdmin
module. This inheritance enables clients to use the SupplierAdmin interface defined
in the CosNotifyChannelAdmin module to create pure OMG Event Service style
proxy consumer objects. Proxy consumer objects created in this manner may not
support configuration of QoS properties, and may not have associated filter objects. In
addition, proxy consumer objects created through the inherited SupplierAdmin
interface will not have unique identifiers associated with them, whereas proxy
consumer objects created by invoking the operations supported by the SupplierAdmin
interface defined in the CosNotifyChannelAdmin module will.
Locally, the SupplierAdmin interface supports a readonly attribute which maintains a
reference to the EventChannel instance that created a given SupplierAdmin instance.
The SupplierAdmin 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 SupplierAdmin
instance. This identifier will be unique among all SupplierAdmin instances created by
a given channel.
As described above, due to inheritance from the FilterAdmin interface, a
SupplierAdmin can maintain a list of filter objects that will be applied to all proxy
consumers it creates. Also recall that each proxy consumer 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 consumer,
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 SupplierAdmin, and the operator
that will be used for this purpose by a given SupplierAdmin is maintained in a
readonly attribute.
Each SupplierAdmin instance assigns a unique numeric identifier to each proxy
consumer object it maintains. The SupplierAdmin interface supports attributes which
maintain the list of these unique identifiers associated with the proxy pull and the
proxy push consumers created by a given SupplierAdmin instance. The
SupplierAdmin interface also supports an operation which, given the unique identifier
of a proxy consumer a given SupplierAdmin instance has created as input, will return
the object reference of that proxy consumer object. Additionally, the SupplierAdmin
interface supports operations which can create the various styles of proxy consumer
objects supported by the Notification Service event channel. Finally, because clients of
a given Notification Service event channel can create any number of SupplierAdmin
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 SupplierAdmin instance,
freeing all resources consumed by the instance. |
ProxyConsumer | get_proxy_consumer(int proxy_id)
The get_proxy_consumer operation accepts as an input parameter the numeric unique
identifier associated with one of the proxy consumer objects which has been created by
the target SupplierAdmin instance. |
EventChannel | MyChannel()
The MyChannel attribute is a readonly attribute which maintains the object reference
of the Notification Service event channel that created a given SupplierAdmin
instance. |
int | MyID()
The MyID attribute is a readonly attribute which maintains the unique identifier of the
target SupplierAdmin 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 SupplierAdmin and those defined locally on a given proxy consumer. |
ProxyConsumer | obtain_notification_pull_consumer(ClientType ctype, IntHolder proxy_id)
The obtain_notification_pull_consumer operation can create instances of the various
types of pull-style proxy consumer objects defined within the
CosNotifyChannelAdmin module. |
ProxyConsumer | obtain_notification_push_consumer(ClientType ctype, IntHolder proxy_id)
The obtain_notification_push_consumer operation can create instances of the various
types of push-style proxy consumer objects defined within the
CosNotifyChannelAdmin module. |
int[] | pull_consumers()
The pull_consumers attribute is a readonly attribute which contains the list of unique
identifiers which have been assigned by a SupplierAdmin instance to each pull-style
proxy consumer object it has created. |
int[] | push_consumers()
The push_consumers attribute is a readonly attribute which contains the list of unique
identifiers which have been assigned by a SupplierAdmin instance to each push-style
proxy consumer object it has created. |
public void destroy()
The destroy operation can be invoked to destroy the target SupplierAdmin instance,
freeing all resources consumed by the instance. Note that destroy can be invoked on a
SupplierAdmin instance that is current managing proxy consumer objects that support
open connections to suppliers. In this case, the effect of invoking destroy on the
SupplierAdmin is that the operation will disconnect each of the proxy consumer
objects being managed by the target SupplierAdmin from their suppliers, and destroy
each of these proxy consumers. Ultimately, the SupplierAdmin instance itself will be
destroyed.
The get_proxy_consumer operation accepts as an input parameter the numeric unique
identifier associated with one of the proxy consumer objects which has been created by
the target SupplierAdmin instance. If the input parameter does correspond to the
unique identifier of a proxy consumer object that has been created by the target
SupplierAdmin instance, that proxy consumer objects reference is returned as the
result of the operation. Otherwise, the ProxyNotFound exception is raised.
The MyChannel attribute is a readonly attribute which maintains the object reference
of the Notification Service event channel that created a given SupplierAdmin
instance.
public int MyID()
The MyID attribute is a readonly attribute which maintains the unique identifier of the
target SupplierAdmin instance which is assigned to it upon creation by the
Notification Service event channel.
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 SupplierAdmin and those defined locally on a given proxy consumer.
The obtain_notification_pull_consumer operation can create instances of the various
types of pull-style proxy consumer objects defined within the
CosNotifyChannelAdmin module. Recall that three varieties of pull-style proxy
consumer objects are defined within this module: instances of the
ProxyPullConsumer interface support connections to pull suppliers which send events
as Anys, instances of the StructuredProxyPullConsumer interface support
connections to pull suppliers which send events as Structured Events, and instances of
the SequenceProxyPullConsumer interface support connections to pull suppliers
which send events as sequences of Structured Events.
The obtain_notification_pull_consumer operation thus accepts as an input parameter a
flag which indicates which style of pull-style proxy consumer instance should be
created. If the number of suppliers currently connected to the channel with which the
target SupplierAdmin object is associated exceeds the value of the MaxSuppliers
administrative property, the AdminLimitExceeded exception is raised. Otherwise, the
target SupplierAdmin creates the new pull-style proxy consumer instance and assigns
a numeric identifier to it that is unique among all proxy consumers it has created. The
unique identifier is returned as the output parameter of the operation, and the reference
to the new proxy consumer instance is returned as the operation result.
The obtain_notification_push_consumer operation can create instances of the various
types of push-style proxy consumer objects defined within the
CosNotifyChannelAdmin module. Recall that three varieties of push-style proxy
consumer objects are defined within this module: instances of the
ProxyPushConsumer interface support connections to push suppliers which send
events as Anys, instances of the StructuredProxyPushConsumer interface support
connections to push suppliers which send events as Structured Events, and instances of
the SequenceProxyPushConsumer interface support connections to push suppliers
which send events as sequences of Structured Events.
The obtain_notification_push_consumer operation thus accepts as an input parameter a
flag which indicates which style of push-style proxy consumer instance should be
created. If the number of suppliers currently connected to the channel with which the
target SupplierAdmin object is associated exceeds the value of the MaxSuppliers
administrative property, the AdminLimitExceeded exception is raised. Otherwise, the
target SupplierAdmin creates the new push-style proxy consumer instance and assigns
a numeric identifier to it that is unique among all proxy consumers it has created. The
unique identifier is returned as the output parameter of the operation, and the reference
to the new proxy consumer instance is returned as the operation result.
public int[] pull_consumers()
The pull_consumers attribute is a readonly attribute which contains the list of unique
identifiers which have been assigned by a SupplierAdmin instance to each pull-style
proxy consumer object it has created.
public int[] push_consumers()
The push_consumers attribute is a readonly attribute which contains the list of unique
identifiers which have been assigned by a SupplierAdmin instance to each push-style
proxy consumer object it has created.