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.ConfigurationClient;
034 import org.opends.server.admin.IllegalPropertyValueException;
035 import org.opends.server.admin.ManagedObjectDefinition;
036 import org.opends.server.admin.PropertyIsReadOnlyException;
037 import org.opends.server.admin.std.server.ReplicationServerCfg;
038
039
040
041 /**
042 * A client-side interface for reading and modifying Replication
043 * Server settings.
044 * <p>
045 * Replication Servers publish updates to Directory Servers within a
046 * Replication Domain.
047 */
048 public interface ReplicationServerCfgClient extends ConfigurationClient {
049
050 /**
051 * Get the configuration definition associated with this Replication Server.
052 *
053 * @return Returns the configuration definition associated with this Replication Server.
054 */
055 ManagedObjectDefinition<? extends ReplicationServerCfgClient, ? extends ReplicationServerCfg> definition();
056
057
058
059 /**
060 * Gets the "queue-size" property.
061 * <p>
062 * Specifies the number of changes that are kept in memory for each
063 * Directory Server in the Replication Domain.
064 *
065 * @return Returns the value of the "queue-size" property.
066 */
067 int getQueueSize();
068
069
070
071 /**
072 * Sets the "queue-size" property.
073 * <p>
074 * Specifies the number of changes that are kept in memory for each
075 * Directory Server in the Replication Domain.
076 *
077 * @param value The value of the "queue-size" property.
078 * @throws IllegalPropertyValueException
079 * If the new value is invalid.
080 */
081 void setQueueSize(Integer value) throws IllegalPropertyValueException;
082
083
084
085 /**
086 * Gets the "replication-db-directory" property.
087 * <p>
088 * The path where the Replication Server stores all persistent
089 * information.
090 *
091 * @return Returns the value of the "replication-db-directory" property.
092 */
093 String getReplicationDBDirectory();
094
095
096
097 /**
098 * Sets the "replication-db-directory" property.
099 * <p>
100 * The path where the Replication Server stores all persistent
101 * information.
102 * <p>
103 * This property is read-only and can only be modified during
104 * creation of a Replication Server.
105 *
106 * @param value The value of the "replication-db-directory" property.
107 * @throws IllegalPropertyValueException
108 * If the new value is invalid.
109 * @throws PropertyIsReadOnlyException
110 * If this Replication Server is not being initialized.
111 */
112 void setReplicationDBDirectory(String value) throws IllegalPropertyValueException, PropertyIsReadOnlyException;
113
114
115
116 /**
117 * Gets the "replication-port" property.
118 * <p>
119 * The port on which this Replication Server waits for connections
120 * from other Replication Servers or Directory Servers.
121 *
122 * @return Returns the value of the "replication-port" property.
123 */
124 Integer getReplicationPort();
125
126
127
128 /**
129 * Sets the "replication-port" property.
130 * <p>
131 * The port on which this Replication Server waits for connections
132 * from other Replication Servers or Directory Servers.
133 *
134 * @param value The value of the "replication-port" property.
135 * @throws IllegalPropertyValueException
136 * If the new value is invalid.
137 */
138 void setReplicationPort(int value) throws IllegalPropertyValueException;
139
140
141
142 /**
143 * Gets the "replication-purge-delay" property.
144 * <p>
145 * The time (in seconds) after which the Replication Server erases
146 * all persistent information.
147 *
148 * @return Returns the value of the "replication-purge-delay" property.
149 */
150 long getReplicationPurgeDelay();
151
152
153
154 /**
155 * Sets the "replication-purge-delay" property.
156 * <p>
157 * The time (in seconds) after which the Replication Server erases
158 * all persistent information.
159 *
160 * @param value The value of the "replication-purge-delay" property.
161 * @throws IllegalPropertyValueException
162 * If the new value is invalid.
163 */
164 void setReplicationPurgeDelay(Long value) throws IllegalPropertyValueException;
165
166
167
168 /**
169 * Gets the "replication-server" property.
170 * <p>
171 * Specifies the addresses of other Replication Servers to which
172 * this Replication Server tries to connect at startup time.
173 * <p>
174 * Addresses must be specified using the syntax: hostname:port
175 *
176 * @return Returns the values of the "replication-server" property.
177 */
178 SortedSet<String> getReplicationServer();
179
180
181
182 /**
183 * Sets the "replication-server" property.
184 * <p>
185 * Specifies the addresses of other Replication Servers to which
186 * this Replication Server tries to connect at startup time.
187 * <p>
188 * Addresses must be specified using the syntax: hostname:port
189 *
190 * @param values The values of the "replication-server" property.
191 * @throws IllegalPropertyValueException
192 * If one or more of the new values are invalid.
193 */
194 void setReplicationServer(Collection<String> values) throws IllegalPropertyValueException;
195
196
197
198 /**
199 * Gets the "replication-server-id" property.
200 * <p>
201 * Specifies a unique identifier for the Replication Server.
202 * <p>
203 * Each Replication Server must have a different server ID.
204 *
205 * @return Returns the value of the "replication-server-id" property.
206 */
207 Integer getReplicationServerId();
208
209
210
211 /**
212 * Sets the "replication-server-id" property.
213 * <p>
214 * Specifies a unique identifier for the Replication Server.
215 * <p>
216 * Each Replication Server must have a different server ID.
217 * <p>
218 * This property is read-only and can only be modified during
219 * creation of a Replication Server.
220 *
221 * @param value The value of the "replication-server-id" property.
222 * @throws IllegalPropertyValueException
223 * If the new value is invalid.
224 * @throws PropertyIsReadOnlyException
225 * If this Replication Server is not being initialized.
226 */
227 void setReplicationServerId(int value) throws IllegalPropertyValueException, PropertyIsReadOnlyException;
228
229
230
231 /**
232 * Gets the "window-size" property.
233 * <p>
234 * Specifies the window size that the Replication Server uses when
235 * communicating with other Replication Servers.
236 *
237 * @return Returns the value of the "window-size" property.
238 */
239 int getWindowSize();
240
241
242
243 /**
244 * Sets the "window-size" property.
245 * <p>
246 * Specifies the window size that the Replication Server uses when
247 * communicating with other Replication Servers.
248 *
249 * @param value The value of the "window-size" property.
250 * @throws IllegalPropertyValueException
251 * If the new value is invalid.
252 */
253 void setWindowSize(Integer value) throws IllegalPropertyValueException;
254
255 }