Provides the cognitive event manager module.

Overview of the events usage

Events are triggered by so-called Watchers (classes that implement the {@link laas.openrobots.ontology.modules.events.IWatcher} interface).

A watcher stores the type of event (cf {@link laas.openrobots.ontology.modules.events.IWatcher.EventType}) along with the pattern (the form of the pattern depends on the type of event, as documented here: {@link laas.openrobots.ontology.modules.events.IWatcher.EventType}).

For convenience, a generic watcher ({@link laas.openrobots.ontology.modules.events.GenericWatcher}) is provided, as well as more specialized ones like {@link laas.openrobots.ontology.modules.events.NewClassInstanceWatcher}.

The events can eventually be registered to an {@linkplain laas.openrobots.ontology.backends.IOntologyBackend ontology backend} by calling {@link laas.openrobots.ontology.backends.IOntologyBackend#registerEvent(IWatcher)}.

Examples can be found in the {@link laas.openrobots.ontology.tests.EventsTest} test-suite.

@since 0.3.2