In JAVA, a condition object implements the Condition
interface given in Figure 7. It is evaluated for a given
message object m by invoking conforms() with m as argument.
The condition classes we propose are conceptually similar to the
predicates found in JGL [Obj99] that are used in
conjunction with centralized collections. The main difference is
that our condition objects are specific to publish/subscribe, by
representing queries on future objects.
What differentiates our condition classes are the comparison functions they encapsulate. The other attributes, namely accessor and result, are initialization arguments and can thus be factored out.
public interface Condition { public boolean conforms(Object m); }