Skip to content

Commit

Permalink
Clarify derived disassembled component handling.
Browse files Browse the repository at this point in the history
Add a link to Formatter to make that part of the documentation
more prominent, and add a note about supporting the delegation.
  • Loading branch information
kfindeisen committed Dec 7, 2020
1 parent 7d024c7 commit 5a4d3f0
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion doc/lsst.daf.butler/formatters.rst
Original file line number Diff line number Diff line change
Expand Up @@ -171,13 +171,17 @@ Additionally, if the storage class refers to a composite, the datastore can be c
Since derived components are computed and are not persisted themselves, the datastore needs to be told which component should be used to calculate this derived quantity.
To enable this the delegate must implement `StorageClassDelegate.selectResponsibleComponent()`.
This method is given the name of the derived component and a list of all available persisted components and must return one and only one relevant component.
The datastore will then make a component request to the formatter associated with that component.
The datastore will then make a component request to the `~lsst.daf.butler.Formatter` associated with that component.

.. note::

All delegates must support read/write components and derived components in the `StorageClassDelegate.getComponent()` implementation method.
As a corollary, all storage classes using components must specify a delegate.

.. note::

A component returned by `~StorageClassDelegate.selectResponsibleComponent()` may require a custom formatter, to support the derived component, even if it otherwise would not.

Read Parameters
^^^^^^^^^^^^^^^

Expand Down

0 comments on commit 5a4d3f0

Please sign in to comment.