This document set describes the public APIs and SPIs offered by the Registry module.

## Contents

API (including overview and examples)
SPI
MergedContexts
Additional documentation:
Design Choices
Change History
Architecture Summary
Credits:
The Registry API was strongly inpired by Preferences API and JNDI API. Several people from nbdev mailing list (especially Jesse Glick, Radek Matous, Petr Nejedly, Vitezslav Stejskal, Jaroslav Tulach) provided valuable feedback which was incorporated.
<WARNING>
Current implementation of the Registry uses for object persistence DataSystem layer and its InstanceDataObject. This will be changed before final release and this change can significantly change the behaviour how object are treated. For example current InstanceDataObject automatically saves object when it was modified. You just retrieve the object from Registry API, modify the object through its API and the object will be automatically persist without the need to bind the changed object back to Registry. This is one of the things which can change when dependency on DataSystem is eliminated. If you are switching to Registry API please keep this in mind, ask questions, mark the source code to be able to return to is later etc. See Settings Redesign page for the most actual info.
</WARNING>