001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 *
019 */
020 package org.apache.directory.server.ldap.replication;
021
022 import org.apache.directory.shared.ldap.filter.SearchScope;
023
024 /**
025 *
026 * A class for holding the syncrepl consumer's configuration.
027 *
028 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
029 * @version $Rev$, $Date$
030 */
031 public class SyncreplConfiguration
032 {
033 /** host name of the syncrepl provider server */
034 private String providerHost;
035
036 /** port number of the syncrepl provider server */
037 private int port;
038
039 /** bind dn */
040 private String bindDn;
041
042 /** password for binding with bind dn */
043 private String credentials;
044
045 /** flag to represent refresh and persist or refreh only mode */
046 private boolean refreshPersist = true;
047
048 /** time interval for successive sync requests */
049 private long consumerInterval = 5 * 1000;
050
051 /** the base DN whose content will be searched for syncing */
052 private String baseDn;
053
054 /** the ldap filter for fetching the entries */
055 private String filter;
056
057 /** a comma separated string of attribute names */
058 private String attributes;
059
060 /** the numer for setting the limit on numer of search results to be fteched
061 * default value is 0 (i.e no limit) */
062 private int searchSizeLimit = 0;
063
064 /** the timeout value to be used while doing a search
065 * default value is 0 (i.e no limit)*/
066 private int searchTimeout = 0;
067
068 /** the search scope */
069 private int searchScope = SearchScope.ONELEVEL.getJndiScope();
070
071 /** the replica's id */
072 private int replicaId;
073
074 /**
075 * @return the providerHost
076 */
077 public String getProviderHost()
078 {
079 return providerHost;
080 }
081
082 /**
083 * @param providerHost the providerHost to set
084 */
085 public void setProviderHost( String providerHost )
086 {
087 this.providerHost = providerHost;
088 }
089
090 /**
091 * @return the port
092 */
093 public int getPort()
094 {
095 return port;
096 }
097
098 /**
099 * @param port the port to set
100 */
101 public void setPort( int port )
102 {
103 this.port = port;
104 }
105
106 /**
107 * @return the bindDn
108 */
109 public String getBindDn()
110 {
111 return bindDn;
112 }
113
114 /**
115 * @param bindDn the bindDn to set
116 */
117 public void setBindDn( String bindDn )
118 {
119 this.bindDn = bindDn;
120 }
121
122 /**
123 * @return the credentials
124 */
125 public String getCredentials()
126 {
127 return credentials;
128 }
129
130 /**
131 * @param credentials the credentials to set
132 */
133 public void setCredentials( String credentials )
134 {
135 this.credentials = credentials;
136 }
137
138 /**
139 * @return the refreshPersist
140 */
141 public boolean isRefreshPersist()
142 {
143 return refreshPersist;
144 }
145
146 /**
147 * @param refreshPersist the refreshPersist to set
148 */
149 public void setRefreshPersist( boolean refreshPersist )
150 {
151 this.refreshPersist = refreshPersist;
152 }
153
154 /**
155 * @return the consumerInterval
156 */
157 public long getConsumerInterval()
158 {
159 return consumerInterval;
160 }
161
162 /**
163 * @param consumerInterval the consumerInterval to set
164 */
165 public void setConsumerInterval( long consumerInterval )
166 {
167 this.consumerInterval = consumerInterval;
168 }
169
170 /**
171 * @return the baseDn
172 */
173 public String getBaseDn()
174 {
175 return baseDn;
176 }
177
178 /**
179 * @param baseDn the baseDn to set
180 */
181 public void setBaseDn( String baseDn )
182 {
183 this.baseDn = baseDn;
184 }
185
186 /**
187 * @return the filter
188 */
189 public String getFilter()
190 {
191 return filter;
192 }
193
194 /**
195 * @param filter the filter to set
196 */
197 public void setFilter( String filter )
198 {
199 this.filter = filter;
200 }
201
202 /**
203 * @return the attributes
204 */
205 public String getAttributes()
206 {
207 return attributes;
208 }
209
210 /**
211 * @param attributes the attributes to set
212 */
213 public void setAttributes( String attributes )
214 {
215 this.attributes = attributes;
216 }
217
218 /**
219 * @return the searchSizeLimit
220 */
221 public int getSearchSizeLimit()
222 {
223 return searchSizeLimit;
224 }
225
226 /**
227 * @param searchSizeLimit the searchSizeLimit to set
228 */
229 public void setSearchSizeLimit( int searchSizeLimit )
230 {
231 this.searchSizeLimit = searchSizeLimit;
232 }
233
234 /**
235 * @return the searchTimeout
236 */
237 public int getSearchTimeout()
238 {
239 return searchTimeout;
240 }
241
242 /**
243 * @param searchTimeout the searchTimeout to set
244 */
245 public void setSearchTimeout( int searchTimeout )
246 {
247 this.searchTimeout = searchTimeout;
248 }
249
250 /**
251 * @return the searchScope
252 */
253 public int getSearchScope()
254 {
255 return searchScope;
256 }
257
258 /**
259 * @param searchScope the searchScope to set
260 */
261 public void setSearchScope( int searchScope )
262 {
263 this.searchScope = searchScope;
264 }
265
266 /**
267 * @return the replicaId
268 */
269 public int getReplicaId()
270 {
271 return replicaId;
272 }
273
274 /**
275 * @param replicaId the replicaId to set
276 */
277 public void setReplicaId( int replicaId )
278 {
279 this.replicaId = replicaId;
280 }
281
282
283
284 }