The client code specifies (in the constructor) the file path or the File which is to hold the persisted registration repository. Note that any public method that modifies any part of the DOM for the repository also flushes the repository to the file before returning.
If the specified file exists, the manager loads its contents as the initial value of the document. If the file does not exist, the manager creates a new in-memory document containing the top-level registry element and the default registrationstatus element but does NOT write out this initial data. Writes to the file occur only in response to the client code invoking one of the methods that modifies the DOM.
You can have multiple repositories ( {@link LRepository}), each repository contains tables ( {@link LTable}), tables contain records ( {@link Record}).
Multiple repositories can be useful for multitenancy use-cases, e.g. to set up different spaces for different divisions in an organisation, while sharing the same cluster (same Hadoop, HBase, Lily, ...). Since each repository has its own tables (which maps to HBase tables), this feature is suited to have a few big repositories rather than many small repositories.
Repositories need to be defined up front through the {@code RepositoryModel}.
RepositoryManager
object represents a management view of the Session's Repository instance. Each RepositoryManager
object is associated one-to-one with a Session
object and is defined by the authorization settings of that session object. The RepositoryManager
object can be acquired using a {@link Session} by callingSession.getWorkspace().getRepositoryManager()
on a session object. Likewise, the Repository being managed can be found for a given RepositoryManager object by calling mgr.getWorkspace().getSession().getRepository()
.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|