org.omg.CosNotifyFilter
Class MappingFilterPOA
public abstract
class
MappingFilterPOA
extends Servant
implements MappingFilterOperations, InvokeHandler
The MappingFilter interface defines the behaviors of objects which encapsulate a
sequence of constraint-value pairs, where each constraint is a structure of the same
type as that described in section 3.2.1, and each value represents a possible setting of a
particular property of an event. Note that setting of a particular property is not
intended to imply that any contents of the event will be altered as a result of applying
a mapping filter, but rather the way a proxy treats the event with respect to a particular
property (i.e., priority or lifetime) could change. Upon receiving each event, a proxy
object with an associated object supporting the MappingFilter interface will invoke
the appropriate match operation variant (depending upon whether the event is received
in the form of an untyped event, a Structured Event, or a typed event) on the mapping
filter object in order to determine how it should modify a particular property value
associated with the event to one of the values associated with one of the constraints
encapsulated by the mapping filter. Internally, the mapping filter object applies the
constraints it encapsulates to the event in order to determine whether or not the events
property should be modified to one of the values associated with a constraint, or else
the default value associated with the mapping filter.
Each instance of an object supporting the MappingFilter interface is typically
associated with a specific event property. For instance, in this specification
MappingFilter object instances are used to affect the properties of priority and
lifetime for events received by a proxy supplier object. Each event received by a proxy
object which has an object supporting the MappingFilter interface associated with it
must satisfy at least one of the constraints associated with the MappingFilter object in
order to have its property value modified, otherwise the property will remain
unchanged. A specific instance supporting the MappingFilter interface typically
applies its encapsulated constraints in an order which begins with the best possible
property setting (e.g., the highest priority or the longest lifetime), and ends with the
worst possible property setting. As soon as a matching constraint is encountered, the
associated value is returned as an output parameter and the proxy which invoked the
operation proceeds to modify the property of the event to the new value.
The constraint expressions associated with a particular object supporting the
MappingFilter interface are expressed as strings which obey the syntax of a particular
constraint grammar (i.e. a BNF). Every conformant implementation of this service
must support constraint expressions expressed in the default constraint grammar
described in section 2.4. In addition, implementations may support other constraint
grammars, and/or users of this service may implement their own filter objects which
allow constraints to be expressed in terms of an alternative constraint grammar. As
long as such user-defined filter objects support the MappingFilter interface, they can
be attached to proxy objects in the same fashion as the default MappingFilter objects
supported by the implementation of the service are, and the channel should be able to
use them to potentially affect the properties of events in the same fashion.
The MappingFilter interface supports the operations required to manage the
constraint-value pairs associated with an object instance which supports the interface.
In addition, the MappingFilter interface supports a readonly attribute which identifies
the particular constraint grammar in which the constraints encapsulated by this object
have meaning. The MappingFilter interface also supports a readonly attribute which
identifies the typecode associated with the datatype of the specific property value it is
intended to affect, and another readonly attribute which holds the default value which
will be returned as the result of a match operation in cases when the event in question
is found to satisfy none of the constraints encapsulated by the mapping filter. Lastly,
the MappingFilter interface supports three variants of the operation which will be
invoked by an associated proxy object upon receipt of an event, to determine how the
property of the event which the target mapping filter object was designed to affect
should be modified.
The operations supported by the MappingFilter object are described in more detail
within the following subsections.
public String[] _all_interfaces(POA poa, byte[] objectId)
public final OutputStream _invoke(String opName, InputStream _is, ResponseHandler handler)