This class represents a document holding all components.
For creating document it is required to define a relation to a project when the document will exists.
This is important resolving a repository of project-dependant component descriptors and classpath.
The document contains a transaction manager. It allows you to acquire a read or write access to the document.
It is because almost all method in the model API is protected and you have to have an appropriate access to call them.
The manager uses NetBeans MUTEX class that allows to multi-read or single-write access at the same time.
The document does not fire an event everytime you change something in the document and it does not allows you
to register a listener on each component directly. Instead there is a listener manager which groups all events
from the all parts of document and fires a single big event when a write transaction is finished.
The listener manager allows you to register document-related event listeners with a specific event filter.
The document contain a tree of component. The tree is specified by a root component. The root component could be set
only once.
author: David Kaspar |