org.modeshape.jcr.api

## Interface RepositoryManager

- All Known Implementing Classes:
    JcrRepositoryManager

      public interface RepositoryManager

  A `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 `Session` by calling `Session.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()`.

  Since:
    3.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Problems` | `backupRepository(File backupDirectory)` Begin a backup operation of the entire repository, writing the files associated with the backup to the specified directory on the local file system.
    `RepositoryMonitor` | `getRepositoryMonitor()` A `RepositoryMonitor` object represents a monitoring view of the Session's Repository instance.
    `Workspace` | `getWorkspace()` Return the `Workspace` object through which this repository manager was created.
    `Problems` | `restoreRepository(File backupDirectory)` Begin a restore operation of the entire repository, reading the backup files in the specified directory on the local file system.

- - ### Method Detail

    - #### getWorkspace

          Workspace getWorkspace()

      Return the `Workspace` object through which this repository manager was created.
      Returns:
        the @ Workspace} object.

    - #### getRepositoryMonitor

          RepositoryMonitor getRepositoryMonitor()
                                                 throws RepositoryException

      A `RepositoryMonitor` object represents a monitoring view of the Session's Repository instance. This is useful for applications that embed a JCR repository and need a way to monitor the health, status and performance of that Repository instance. Each `RepositoryMonitor` object is associated one-to-one with a `Session` object and is defined by the authorization settings of that session object.

      The `RepositoryMonitor` object can be acquired using a `Session` by calling `Session.getWorkspace().getRepositoryMonitor()` on a session object.

      Returns:
        the repository monitor; never null
      Throws:
        `RepositoryException` - if there is a problem obtaining the monitory

    - #### backupRepository

          Problems backupRepository(File backupDirectory)
                                    throws RepositoryException

      Begin a backup operation of the entire repository, writing the files associated with the backup to the specified directory on the local file system.

      The repository must be active when this operation is invoked, and it can continue to be used during backup (e.g., this can be a "live" backup operation), but this is not recommended if the backup will be used as part of a migration to a different version of ModeShape or to different installation.

      Multiple backup operations can operate at the same time, so it is the responsibility of the caller to not overload the repository with backup operations.

      Parameters:
        `backupDirectory` - the directory on the local file system into which all backup files will be written; this directory need not exist, but the process must have write privilege for this directory
      Returns:
        the problems that occurred during the backup operation
      Throws:
        `AccessDeniedException` - if the current session does not have sufficient privileges to perform the backup
        `RepositoryException` - if the backup cannot be run

    - #### restoreRepository

          Problems restoreRepository(File backupDirectory)
                                     throws RepositoryException

      Begin a restore operation of the entire repository, reading the backup files in the specified directory on the local file system. Upon completion of the restore operation, the repository will be restarted automatically.

      The repository must be active when this operation is invoked. However, the repository may not be used by any other activities during the restore operation; doing so will likely result in a corrupt repository.

      It is the responsibility of the caller to ensure that this method is only invoked once; calling multiple times wil lead to a corrupt repository.

      Parameters:
        `backupDirectory` - the directory on the local file system in which all backup files exist and were written by a previous `backup operation`; this directory must exist, and the process must have read privilege for all contents in this directory
      Returns:
        the problems that occurred during the restore operation
      Throws:
        `AccessDeniedException` - if the current session does not have sufficient privileges to perform the restore
        `RepositoryException` - if the restoration cannot be run

Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.