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