001
002 /*
003 * Licensed to the Apache Software Foundation (ASF) under one
004 * or more contributor license agreements. See the NOTICE file
005 * distributed with this work for additional information
006 * regarding copyright ownership. The ASF licenses this file
007 * to you under the Apache License, Version 2.0 (the
008 * "License"); you may not use this file except in compliance
009 * with the License. You may obtain a copy of the License at
010 *
011 * http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing,
014 * software distributed under the License is distributed on an
015 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
016 * KIND, either express or implied. See the License for the
017 * specific language governing permissions and limitations
018 * under the License.
019 *
020 */
021 package org.apache.directory.server.schema.bootstrap;
022
023
024 import java.util.ArrayList;
025 import javax.naming.NamingException;
026 import org.apache.directory.shared.ldap.schema.ObjectClassTypeEnum;
027 import org.apache.directory.server.schema.registries.Registries;
028
029
030 /**
031 * A producer of schema objectClass definations for the apachedns schema. This
032 * code has been automatically generated using schema files in the OpenLDAP
033 * format along with the directory plugin for maven. This has been done
034 * to facilitate OpenLDAP schema interoperability.
035 *
036 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
037 */
038 public class ApachednsObjectClassProducer extends AbstractBootstrapProducer
039 {
040
041 public ApachednsObjectClassProducer()
042 {
043 super( ProducerTypeEnum.OBJECT_CLASS_PRODUCER );
044 }
045
046
047 // ------------------------------------------------------------------------
048 // BootstrapProducer Methods
049 // ------------------------------------------------------------------------
050
051
052 /**
053 * @see BootstrapProducer#produce(Registries, ProducerCallback)
054 */
055 public void produce( Registries registries, ProducerCallback cb )
056 throws NamingException
057 {
058 ArrayList<String> array = new ArrayList<String>();
059 BootstrapObjectClass objectClass;
060
061 // --------------------------------------------------------------------
062 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.1
063 // --------------------------------------------------------------------
064
065 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.1", registries );
066 objectClass.setObsolete( false );
067
068 objectClass.setDescription( "An abstract DNS record objectClass used to build other specific structural objectclasses for different record types" );
069 // set the objectclass type
070 objectClass.setType( ObjectClassTypeEnum.ABSTRACT );
071
072 // set superior objectClasses
073 array.clear();
074 array.add( "top" );
075 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
076
077 // set must list
078 array.clear();
079 array.add( "cn" );
080 objectClass.setMustListIds( array.toArray( EMPTY ) );
081
082 // set may list
083 array.clear();
084 array.add( "apacheDnsTtl" );
085 array.add( "description" );
086 objectClass.setMayListIds( array.toArray( EMPTY ) );
087
088 // set names
089 array.clear();
090 array.add( "apacheDnsAbstractRecord" );
091 objectClass.setNames( array.toArray( EMPTY ) );
092 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.1", objectClass );
093 // --------------------------------------------------------------------
094 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.2
095 // --------------------------------------------------------------------
096
097 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.2", registries );
098 objectClass.setObsolete( false );
099
100 objectClass.setDescription( "An address A record" );
101 // set the objectclass type
102 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
103
104 // set superior objectClasses
105 array.clear();
106 array.add( "apacheDnsAbstractRecord" );
107 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
108
109 // set must list
110 array.clear();
111 array.add( "apacheDnsIpAddress" );
112 objectClass.setMustListIds( array.toArray( EMPTY ) );
113
114 // set may list
115 array.clear();
116 objectClass.setMayListIds( array.toArray( EMPTY ) );
117
118 // set names
119 array.clear();
120 array.add( "apacheDnsAddressRecord" );
121 objectClass.setNames( array.toArray( EMPTY ) );
122 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.2", objectClass );
123 // --------------------------------------------------------------------
124 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.3
125 // --------------------------------------------------------------------
126
127 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.3", registries );
128 objectClass.setObsolete( false );
129
130 objectClass.setDescription( "A pointer PTR record" );
131 // set the objectclass type
132 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
133
134 // set superior objectClasses
135 array.clear();
136 array.add( "apacheDnsAbstractRecord" );
137 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
138
139 // set must list
140 array.clear();
141 array.add( "apacheDnsDomainName" );
142 objectClass.setMustListIds( array.toArray( EMPTY ) );
143
144 // set may list
145 array.clear();
146 objectClass.setMayListIds( array.toArray( EMPTY ) );
147
148 // set names
149 array.clear();
150 array.add( "apacheDnsPointerRecord" );
151 objectClass.setNames( array.toArray( EMPTY ) );
152 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.3", objectClass );
153 // --------------------------------------------------------------------
154 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.4
155 // --------------------------------------------------------------------
156
157 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.4", registries );
158 objectClass.setObsolete( false );
159
160 objectClass.setDescription( "A name server NS record" );
161 // set the objectclass type
162 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
163
164 // set superior objectClasses
165 array.clear();
166 array.add( "apacheDnsAbstractRecord" );
167 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
168
169 // set must list
170 array.clear();
171 array.add( "apacheDnsDomainName" );
172 objectClass.setMustListIds( array.toArray( EMPTY ) );
173
174 // set may list
175 array.clear();
176 objectClass.setMayListIds( array.toArray( EMPTY ) );
177
178 // set names
179 array.clear();
180 array.add( "apacheDnsNameServerRecord" );
181 objectClass.setNames( array.toArray( EMPTY ) );
182 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.4", objectClass );
183 // --------------------------------------------------------------------
184 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.5
185 // --------------------------------------------------------------------
186
187 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.5", registries );
188 objectClass.setObsolete( false );
189
190 objectClass.setDescription( "A start of authority SOA record" );
191 // set the objectclass type
192 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
193
194 // set superior objectClasses
195 array.clear();
196 array.add( "apacheDnsAbstractRecord" );
197 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
198
199 // set must list
200 array.clear();
201 array.add( "apacheDnsSoaMName" );
202 array.add( "apacheDnsSoaRName" );
203 array.add( "apacheDnsSoaMinimum" );
204 objectClass.setMustListIds( array.toArray( EMPTY ) );
205
206 // set may list
207 array.clear();
208 array.add( "apacheDnsClass" );
209 array.add( "apacheDnsSoaSerial" );
210 array.add( "apacheDnsSoaRefresh" );
211 array.add( "apacheDnsSoaRetry" );
212 array.add( "apacheDnsSoaExpire" );
213 objectClass.setMayListIds( array.toArray( EMPTY ) );
214
215 // set names
216 array.clear();
217 array.add( "apacheDnsStartOfAuthorityRecord" );
218 objectClass.setNames( array.toArray( EMPTY ) );
219 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.5", objectClass );
220 // --------------------------------------------------------------------
221 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.6
222 // --------------------------------------------------------------------
223
224 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.6", registries );
225 objectClass.setObsolete( false );
226
227 objectClass.setDescription( "A canonical name CNAME record" );
228 // set the objectclass type
229 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
230
231 // set superior objectClasses
232 array.clear();
233 array.add( "apacheDnsAbstractRecord" );
234 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
235
236 // set must list
237 array.clear();
238 array.add( "apacheDnsDomainName" );
239 objectClass.setMustListIds( array.toArray( EMPTY ) );
240
241 // set may list
242 array.clear();
243 objectClass.setMayListIds( array.toArray( EMPTY ) );
244
245 // set names
246 array.clear();
247 array.add( "apacheDnsCanonicalNameRecord" );
248 objectClass.setNames( array.toArray( EMPTY ) );
249 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.6", objectClass );
250 // --------------------------------------------------------------------
251 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.7
252 // --------------------------------------------------------------------
253
254 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.7", registries );
255 objectClass.setObsolete( false );
256
257 objectClass.setDescription( "A mail exchange MX record" );
258 // set the objectclass type
259 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
260
261 // set superior objectClasses
262 array.clear();
263 array.add( "apacheDnsAbstractRecord" );
264 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
265
266 // set must list
267 array.clear();
268 array.add( "apacheDnsMxPreference" );
269 array.add( "apacheDnsDomainName" );
270 objectClass.setMustListIds( array.toArray( EMPTY ) );
271
272 // set may list
273 array.clear();
274 objectClass.setMayListIds( array.toArray( EMPTY ) );
275
276 // set names
277 array.clear();
278 array.add( "apacheDnsMailExchangeRecord" );
279 objectClass.setNames( array.toArray( EMPTY ) );
280 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.7", objectClass );
281 // --------------------------------------------------------------------
282 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.8
283 // --------------------------------------------------------------------
284
285 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.8", registries );
286 objectClass.setObsolete( false );
287
288 objectClass.setDescription( "A text TXT record" );
289 // set the objectclass type
290 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
291
292 // set superior objectClasses
293 array.clear();
294 array.add( "apacheDnsAbstractRecord" );
295 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
296
297 // set must list
298 array.clear();
299 array.add( "apacheDnsCharacterString" );
300 objectClass.setMustListIds( array.toArray( EMPTY ) );
301
302 // set may list
303 array.clear();
304 objectClass.setMayListIds( array.toArray( EMPTY ) );
305
306 // set names
307 array.clear();
308 array.add( "apacheDnsTextRecord" );
309 objectClass.setNames( array.toArray( EMPTY ) );
310 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.8", objectClass );
311 // --------------------------------------------------------------------
312 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.9
313 // --------------------------------------------------------------------
314
315 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.9", registries );
316 objectClass.setObsolete( false );
317
318 objectClass.setDescription( "A service SRV record" );
319 // set the objectclass type
320 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
321
322 // set superior objectClasses
323 array.clear();
324 array.add( "apacheDnsAbstractRecord" );
325 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
326
327 // set must list
328 array.clear();
329 array.add( "apacheDnsServicePriority" );
330 array.add( "apacheDnsServiceWeight" );
331 array.add( "apacheDnsServicePort" );
332 array.add( "apacheDnsDomainName" );
333 objectClass.setMustListIds( array.toArray( EMPTY ) );
334
335 // set may list
336 array.clear();
337 objectClass.setMayListIds( array.toArray( EMPTY ) );
338
339 // set names
340 array.clear();
341 array.add( "apacheDnsServiceRecord" );
342 objectClass.setNames( array.toArray( EMPTY ) );
343 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.9", objectClass );
344 // --------------------------------------------------------------------
345 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.10
346 // --------------------------------------------------------------------
347
348 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.10", registries );
349 objectClass.setObsolete( false );
350
351 objectClass.setDescription( "A non-authoritative referral or delegation name server" );
352 // set the objectclass type
353 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
354
355 // set superior objectClasses
356 array.clear();
357 array.add( "apacheDnsAbstractRecord" );
358 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
359
360 // set must list
361 array.clear();
362 array.add( "apacheDnsDomainName" );
363 objectClass.setMustListIds( array.toArray( EMPTY ) );
364
365 // set may list
366 array.clear();
367 objectClass.setMayListIds( array.toArray( EMPTY ) );
368
369 // set names
370 array.clear();
371 array.add( "apacheDnsReferralNameServer" );
372 objectClass.setNames( array.toArray( EMPTY ) );
373 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.10", objectClass );
374 // --------------------------------------------------------------------
375 // ObjectClass 1.3.6.1.4.1.18060.0.4.2.3.11
376 // --------------------------------------------------------------------
377
378 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.2.3.11", registries );
379 objectClass.setObsolete( false );
380
381 objectClass.setDescription( "A non-authoritative referral or glue address record" );
382 // set the objectclass type
383 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
384
385 // set superior objectClasses
386 array.clear();
387 array.add( "apacheDnsAbstractRecord" );
388 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
389
390 // set must list
391 array.clear();
392 array.add( "apacheDnsDomainName" );
393 array.add( "apacheDnsIpAddress" );
394 objectClass.setMustListIds( array.toArray( EMPTY ) );
395
396 // set may list
397 array.clear();
398 objectClass.setMayListIds( array.toArray( EMPTY ) );
399
400 // set names
401 array.clear();
402 array.add( "apacheDnsReferralAddress" );
403 objectClass.setNames( array.toArray( EMPTY ) );
404 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.2.3.11", objectClass );
405 }
406 }