001/* 002 * The contents of this file are subject to the terms of the Common Development and 003 * Distribution License (the License). You may not use this file except in compliance with the 004 * License. 005 * 006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the 007 * specific language governing permission and limitations under the License. 008 * 009 * When distributing Covered Software, include this CDDL Header Notice in each file and include 010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL 011 * Header, with the fields enclosed by brackets [] replaced by your own identifying 012 * information: "Portions Copyright [year] [name of copyright owner]". 013 * 014 * Copyright 2008 Sun Microsystems, Inc. 015 */ 016package org.forgerock.opendj.server.config.client; 017 018 019 020import java.util.Collection; 021import java.util.SortedSet; 022import org.forgerock.opendj.config.ManagedObjectDefinition; 023import org.forgerock.opendj.config.PropertyException; 024import org.forgerock.opendj.server.config.meta.BackendCfgDefn.WritabilityMode; 025import org.forgerock.opendj.server.config.server.BackupBackendCfg; 026 027 028 029/** 030 * A client-side interface for reading and modifying Backup Backend 031 * settings. 032 * <p> 033 * The Backup Backend provides read-only access to the set of backups 034 * that are available for OpenDJ. 035 */ 036public interface BackupBackendCfgClient extends BackendCfgClient { 037 038 /** 039 * Get the configuration definition associated with this Backup Backend. 040 * 041 * @return Returns the configuration definition associated with this Backup Backend. 042 */ 043 ManagedObjectDefinition<? extends BackupBackendCfgClient, ? extends BackupBackendCfg> definition(); 044 045 046 047 /** 048 * Gets the "backup-directory" property. 049 * <p> 050 * Specifies the path to a backup directory containing one or more 051 * backups for a particular backend. 052 * <p> 053 * This is a multivalued property. Each value may specify a 054 * different backup directory if desired (one for each backend for 055 * which backups are taken). Values may be either absolute paths or 056 * paths that are relative to the base of the OpenDJ directory server 057 * installation. 058 * 059 * @return Returns the values of the "backup-directory" property. 060 */ 061 SortedSet<String> getBackupDirectory(); 062 063 064 065 /** 066 * Sets the "backup-directory" property. 067 * <p> 068 * Specifies the path to a backup directory containing one or more 069 * backups for a particular backend. 070 * <p> 071 * This is a multivalued property. Each value may specify a 072 * different backup directory if desired (one for each backend for 073 * which backups are taken). Values may be either absolute paths or 074 * paths that are relative to the base of the OpenDJ directory server 075 * installation. 076 * 077 * @param values The values of the "backup-directory" property. 078 * @throws PropertyException 079 * If one or more of the new values are invalid. 080 */ 081 void setBackupDirectory(Collection<String> values) throws PropertyException; 082 083 084 085 /** 086 * Gets the "java-class" property. 087 * <p> 088 * Specifies the fully-qualified name of the Java class that 089 * provides the backend implementation. 090 * 091 * @return Returns the value of the "java-class" property. 092 */ 093 String getJavaClass(); 094 095 096 097 /** 098 * Sets the "java-class" property. 099 * <p> 100 * Specifies the fully-qualified name of the Java class that 101 * provides the backend implementation. 102 * 103 * @param value The value of the "java-class" property. 104 * @throws PropertyException 105 * If the new value is invalid. 106 */ 107 void setJavaClass(String value) throws PropertyException; 108 109 110 111 /** 112 * Gets the "writability-mode" property. 113 * <p> 114 * Specifies the behavior that the backend should use when 115 * processing write operations. 116 * 117 * @return Returns the value of the "writability-mode" property. 118 */ 119 WritabilityMode getWritabilityMode(); 120 121 122 123 /** 124 * Sets the "writability-mode" property. 125 * <p> 126 * Specifies the behavior that the backend should use when 127 * processing write operations. 128 * 129 * @param value The value of the "writability-mode" property. 130 * @throws PropertyException 131 * If the new value is invalid. 132 */ 133 void setWritabilityMode(WritabilityMode value) throws PropertyException; 134 135}