palikka.sweet
create-context
(create-context system)
dependencies
(dependencies component)
Returns the map of other components on which this component depends.
providing
(providing component spec)
Associates metadata with component describing what values
the component provides for others to use. Provides are specified
as a map keys. Keys in the map correspond to key in context map.
Values in the map are they keys in the component where provieded
value is. The value can be a IFn so if you need to retrieve
nested value you can use e.g. `(comp :foo :bar)`.
Alternatively, if the keys are the same in both the component and
context, they map be specified as vector of keys.
start
(start component)
Begins operation of this component. Synchronous, does not return
until the component is started. Returns an updated version of this
component.
start-system
(start-system system)
(start-system system component-keys)
Recursively starts components in the system, in dependency order,
assoc'ing in their dependencies along the way. component-keys is a
collection of keys (order doesn't matter) in the system specifying
the components to start, defaults to all keys in the system.
stop
(stop component)
Ceases operation of this component. Synchronous, does not return
until the component is stopped. Returns an updated version of this
component.
stop-system
(stop-system system)
(stop-system system component-keys)
Recursively stops components in the system, in reverse dependency
order. component-keys is a collection of keys (order doesn't matter)
in the system specifying the components to stop, defaults to all
keys in the system.
system-map
(system-map & keyvals)
Returns a system constructed of key/value pairs. The system has
default implementations of the Lifecycle 'start' and 'stop' methods
which recursively start/stop all components in the system.
System maps print as #<SystemMap> to avoid overwhelming the printer
with large objects. As a consequence, printed system maps cannot be
'read'. To disable this behavior and print system maps like normal
records, call
(remove-method clojure.core/print-method com.stuartsierra.component.SystemMap)
system-using
(system-using system dependency-map)
Associates dependency metadata with multiple components in the
system. dependency-map is a map of keys in the system to maps or
vectors specifying the dependencies of the component at that key in
the system, as per 'using'.
using
(using component dependencies)
Associates metadata with component describing the other components
on which it depends. Component dependencies are specified as a map.
Keys in the map correspond to keys in this component which must be
provided by its containing system. Values in the map are the keys in
the system at which those components may be found. Alternatively, if
the keys are the same in both the component and its enclosing
system, they may be specified as a vector of keys.