All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.modeshape.jcr.api.RepositoryManager Maven / Gradle / Ivy

There is a newer version: 5.5.1.fcr
Show newest version
/*
 * ModeShape (http://www.modeshape.org)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.modeshape.jcr.api;

import java.io.File;
import javax.jcr.AccessDeniedException;
import javax.jcr.RepositoryException;
import javax.jcr.Workspace;
import org.modeshape.jcr.api.monitor.RepositoryMonitor;

/**
 * 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 {@link 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 */ public interface RepositoryManager { /** * Return the Workspace object through which this repository manager was created. * * @return the @ Workspace} object. */ Workspace getWorkspace(); /** * 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 {@link Session} by calling * Session.getWorkspace().getRepositoryMonitor() on a session object. *

* * @return the repository monitor; never null * @throws RepositoryException if there is a problem obtaining the monitory */ RepositoryMonitor getRepositoryMonitor() 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. *

* * @param 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 * @return the problems that occurred during the backup operation * @throws AccessDeniedException if the current session does not have sufficient privileges to perform the backup * @throws RepositoryException if the backup cannot be run */ 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. *

* * @param 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 * @param backupOptions a {@link org.modeshape.jcr.api.BackupOptions} instance which can be used for more fine-grained control * of the elements that are backed up. * @return the problems that occurred during the backup operation * @throws AccessDeniedException if the current session does not have sufficient privileges to perform the backup * @throws RepositoryException if the backup cannot be run */ Problems backupRepository( File backupDirectory, BackupOptions backupOptions ) 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. *

* * @param backupDirectory the directory on the local file system in which all backup files exist and were written by a * previous {@link #backupRepository(File) backup operation}; this directory must exist, and the process must have read * privilege for all contents in this directory * @return the problems that occurred during the restore operation * @throws AccessDeniedException if the current session does not have sufficient privileges to perform the restore * @throws RepositoryException if the restoration cannot be run */ 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. *

* * @param backupDirectory the directory on the local file system in which all backup files exist and were written by a * previous {@link #backupRepository(File) backup operation}; this directory must exist, and the process must have read * privilege for all contents in this directory * @param options a {@link org.modeshape.jcr.api.RestoreOptions} instance which can be used to control the elements and the * behavior of the restore process. * @return the problems that occurred during the restore operation * @throws AccessDeniedException if the current session does not have sufficient privileges to perform the restore * @throws RepositoryException if the restoration cannot be run */ Problems restoreRepository( File backupDirectory, RestoreOptions options ) throws RepositoryException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy