This class represents a registry for all component descriptors that could be used in the document. The registry consists of
two parts: global registry, project-dependent registry.
For registering a component descriptor in global registry you have to put its instance to "vmd/components" folder in layer filesystem.
These descriptors will be available for all documents in all projects.
For registering a component descriptor in project-dependent registry it is fully up-to the project interface what directory
it supply as a source of descriptors (usually it will be nbproject/private/components folder). These component descriptors
will be available only for documents that are located in the project.
Each component descriptor is registered with the type id that is resolved by
ComponentDescriptor.getTypeDescriptor ().getThisType () method call.
This type id must be unique across all component descriptors. If there is a conflict of type ids,
the one from global registry wins. Otherwise there is no stable rule or priority defined.
When a registry is update/refreshed/changed all its document (that are using it) resolves a new component descriptors
for all their components. If a component descriptor could not be resolved for some component that the component we still
contain all property values and presenters but they will not be accessible/modifiable.
author: David Kaspar |