Liking cljdoc? Tell your friends :D

hive.events.observer

Observer seam for dispatched events.

The event registry holds ONE handler per event id. Observers are the extension point for cross-cutting side effects that must not own, replace or know about that handler.

Extend by implementing IEventObserver — EventIdObserver (a fixed set of event ids) and GlobalObserver (every event) are supplied; a consumer may register any other implementation.

Contract: observers run AFTER the handler's effects have been applied, in observer-id order, and each is isolated — an observer that throws is logged and never propagates to the handler or to sibling observers.

Observer seam for dispatched events.

The event registry holds ONE handler per event id. Observers are the
extension point for cross-cutting side effects that must not own, replace
or know about that handler.

Extend by implementing IEventObserver — `EventIdObserver` (a fixed set of
event ids) and `GlobalObserver` (every event) are supplied; a consumer may
register any other implementation.

Contract: observers run AFTER the handler's effects have been applied, in
observer-id order, and each is isolated — an observer that throws is logged
and never propagates to the handler or to sibling observers.
raw docstring

clear-observers!clj/s

(clear-observers!)

Deregister every observer. Returns nil.

Deregister every observer. Returns nil.
sourceraw docstring

IEventObserverclj/sprotocol

observer-idclj/s

(observer-id this)

Unique id for this observer. Registering the same id twice replaces it.

Unique id for this observer. Registering the same id twice replaces it.

observes?clj/s

(observes? this event-id)

True when this observer should be notified of event-id.

True when this observer should be notified of `event-id`.

on-eventclj/s

(on-event this context)

Side effect for an observed event. Return value is ignored.

Side effect for an observed event. Return value is ignored.
source

notify!clj/s

(notify! event-id context)

Notify every registered observer of event-id, passing context. Each observer is isolated: a throw is logged and swallowed. Returns the number of observers notified.

Notify every registered observer of `event-id`, passing `context`.
Each observer is isolated: a throw is logged and swallowed.
Returns the number of observers notified.
sourceraw docstring

observersclj/s

(observers)

Map of registered {observer-id observer}.

Map of registered {observer-id observer}.
sourceraw docstring

on-any-eventclj/s

(on-any-event id f)

Observer of every dispatched event. f is (fn [context] ...).

Observer of every dispatched event. `f` is (fn [context] ...).
sourceraw docstring

on-eventsclj/s

(on-events id event-ids f)

Observer of event-ids only. f is (fn [context] ...).

Observer of `event-ids` only. `f` is (fn [context] ...).
sourceraw docstring

register-observer!clj/s

(register-observer! observer)

Register observer, replacing any observer with the same id. Returns its id.

Register `observer`, replacing any observer with the same id.
Returns its id.
sourceraw docstring

remove-observer!clj/s

(remove-observer! id)

Deregister the observer registered under id. Returns nil.

Deregister the observer registered under `id`. Returns nil.
sourceraw docstring

select-observersclj/s

(select-observers observer-map event-id)

Observers in observer-map that observe event-id, ordered by observer-id. Pure.

Observers in `observer-map` that observe `event-id`, ordered by observer-id.
Pure.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close