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 apachemeta 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 ApachemetaObjectClassProducer extends AbstractBootstrapProducer
039 {
040
041 public ApachemetaObjectClassProducer()
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.0.3.1
063 // --------------------------------------------------------------------
064
065 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.1", registries );
066 objectClass.setObsolete( false );
067
068 objectClass.setDescription( "Top level objectclass of all meta objects" );
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( "m-oid" );
080 objectClass.setMustListIds( array.toArray( EMPTY ) );
081
082 // set may list
083 array.clear();
084 array.add( "m-description" );
085 objectClass.setMayListIds( array.toArray( EMPTY ) );
086
087 // set names
088 array.clear();
089 array.add( "metaTop" );
090 objectClass.setNames( array.toArray( EMPTY ) );
091 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.1", objectClass );
092 // --------------------------------------------------------------------
093 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.2
094 // --------------------------------------------------------------------
095
096 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.2", registries );
097 objectClass.setObsolete( false );
098
099 objectClass.setDescription( "meta definition of the objectclass object" );
100 // set the objectclass type
101 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
102
103 // set superior objectClasses
104 array.clear();
105 array.add( "metaTop" );
106 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
107
108 // set must list
109 array.clear();
110 array.add( "m-oid" );
111 objectClass.setMustListIds( array.toArray( EMPTY ) );
112
113 // set may list
114 array.clear();
115 array.add( "m-name" );
116 array.add( "m-obsolete" );
117 array.add( "m-supObjectClass" );
118 array.add( "m-typeObjectClass" );
119 array.add( "m-must" );
120 array.add( "m-may" );
121 objectClass.setMayListIds( array.toArray( EMPTY ) );
122
123 // set names
124 array.clear();
125 array.add( "metaObjectClass" );
126 objectClass.setNames( array.toArray( EMPTY ) );
127 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.2", objectClass );
128 // --------------------------------------------------------------------
129 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.3
130 // --------------------------------------------------------------------
131
132 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.3", registries );
133 objectClass.setObsolete( false );
134
135 objectClass.setDescription( "meta definition of the AttributeType object" );
136 // set the objectclass type
137 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
138
139 // set superior objectClasses
140 array.clear();
141 array.add( "metaTop" );
142 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
143
144 // set must list
145 array.clear();
146 objectClass.setMustListIds( array.toArray( EMPTY ) );
147
148 // set may list
149 array.clear();
150 array.add( "m-name" );
151 array.add( "m-obsolete" );
152 array.add( "m-supAttributeType" );
153 array.add( "m-equality" );
154 array.add( "m-ordering" );
155 array.add( "m-substr" );
156 array.add( "m-syntax" );
157 array.add( "m-singleValue" );
158 array.add( "m-collective" );
159 array.add( "m-noUserModification" );
160 array.add( "m-usage" );
161 array.add( "m-length" );
162 objectClass.setMayListIds( array.toArray( EMPTY ) );
163
164 // set names
165 array.clear();
166 array.add( "metaAttributeType" );
167 objectClass.setNames( array.toArray( EMPTY ) );
168 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.3", objectClass );
169 // --------------------------------------------------------------------
170 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.4
171 // --------------------------------------------------------------------
172
173 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.4", registries );
174 objectClass.setObsolete( false );
175
176 objectClass.setDescription( "meta definition of the Syntax object" );
177 // set the objectclass type
178 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
179
180 // set superior objectClasses
181 array.clear();
182 array.add( "metaTop" );
183 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
184
185 // set must list
186 array.clear();
187 objectClass.setMustListIds( array.toArray( EMPTY ) );
188
189 // set may list
190 array.clear();
191 objectClass.setMayListIds( array.toArray( EMPTY ) );
192
193 // set names
194 array.clear();
195 array.add( "metaSyntax" );
196 objectClass.setNames( array.toArray( EMPTY ) );
197 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.4", objectClass );
198 // --------------------------------------------------------------------
199 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.5
200 // --------------------------------------------------------------------
201
202 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.5", registries );
203 objectClass.setObsolete( false );
204
205 objectClass.setDescription( "meta definition of the MatchingRule object" );
206 // set the objectclass type
207 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
208
209 // set superior objectClasses
210 array.clear();
211 array.add( "metaTop" );
212 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
213
214 // set must list
215 array.clear();
216 array.add( "m-syntax" );
217 objectClass.setMustListIds( array.toArray( EMPTY ) );
218
219 // set may list
220 array.clear();
221 array.add( "m-name" );
222 array.add( "m-obsolete" );
223 objectClass.setMayListIds( array.toArray( EMPTY ) );
224
225 // set names
226 array.clear();
227 array.add( "metaMatchingRule" );
228 objectClass.setNames( array.toArray( EMPTY ) );
229 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.5", objectClass );
230 // --------------------------------------------------------------------
231 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.6
232 // --------------------------------------------------------------------
233
234 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.6", registries );
235 objectClass.setObsolete( false );
236
237 objectClass.setDescription( "meta definition of the DITStructureRule object" );
238 // set the objectclass type
239 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
240
241 // set superior objectClasses
242 array.clear();
243 array.add( "top" );
244 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
245
246 // set must list
247 array.clear();
248 array.add( "m-ruleId" );
249 array.add( "m-form" );
250 objectClass.setMustListIds( array.toArray( EMPTY ) );
251
252 // set may list
253 array.clear();
254 array.add( "m-name" );
255 array.add( "m-obsolete" );
256 array.add( "m-supDITStructureRule" );
257 objectClass.setMayListIds( array.toArray( EMPTY ) );
258
259 // set names
260 array.clear();
261 array.add( "metaDITStructureRule" );
262 objectClass.setNames( array.toArray( EMPTY ) );
263 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.6", objectClass );
264 // --------------------------------------------------------------------
265 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.7
266 // --------------------------------------------------------------------
267
268 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.7", registries );
269 objectClass.setObsolete( false );
270
271 objectClass.setDescription( "meta definition of the NameForm object" );
272 // set the objectclass type
273 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
274
275 // set superior objectClasses
276 array.clear();
277 array.add( "metaTop" );
278 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
279
280 // set must list
281 array.clear();
282 array.add( "m-oc" );
283 array.add( "m-must" );
284 objectClass.setMustListIds( array.toArray( EMPTY ) );
285
286 // set may list
287 array.clear();
288 array.add( "m-name" );
289 array.add( "m-obsolete" );
290 array.add( "m-may" );
291 objectClass.setMayListIds( array.toArray( EMPTY ) );
292
293 // set names
294 array.clear();
295 array.add( "metaNameForm" );
296 objectClass.setNames( array.toArray( EMPTY ) );
297 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.7", objectClass );
298 // --------------------------------------------------------------------
299 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.8
300 // --------------------------------------------------------------------
301
302 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.8", registries );
303 objectClass.setObsolete( false );
304
305 objectClass.setDescription( "meta definition of the MatchingRuleUse object" );
306 // set the objectclass type
307 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
308
309 // set superior objectClasses
310 array.clear();
311 array.add( "metaTop" );
312 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
313
314 // set must list
315 array.clear();
316 array.add( "m-applies" );
317 objectClass.setMustListIds( array.toArray( EMPTY ) );
318
319 // set may list
320 array.clear();
321 array.add( "m-name" );
322 array.add( "m-obsolete" );
323 objectClass.setMayListIds( array.toArray( EMPTY ) );
324
325 // set names
326 array.clear();
327 array.add( "metaMatchingRuleUse" );
328 objectClass.setNames( array.toArray( EMPTY ) );
329 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.8", objectClass );
330 // --------------------------------------------------------------------
331 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.9
332 // --------------------------------------------------------------------
333
334 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.9", registries );
335 objectClass.setObsolete( false );
336
337 objectClass.setDescription( "meta definition of the DITContentRule object" );
338 // set the objectclass type
339 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
340
341 // set superior objectClasses
342 array.clear();
343 array.add( "metaTop" );
344 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
345
346 // set must list
347 array.clear();
348 objectClass.setMustListIds( array.toArray( EMPTY ) );
349
350 // set may list
351 array.clear();
352 array.add( "m-name" );
353 array.add( "m-obsolete" );
354 array.add( "m-aux" );
355 array.add( "m-must" );
356 array.add( "m-may" );
357 array.add( "m-not" );
358 objectClass.setMayListIds( array.toArray( EMPTY ) );
359
360 // set names
361 array.clear();
362 array.add( "metaDITContentRule" );
363 objectClass.setNames( array.toArray( EMPTY ) );
364 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.9", objectClass );
365 // --------------------------------------------------------------------
366 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.10
367 // --------------------------------------------------------------------
368
369 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.10", registries );
370 objectClass.setObsolete( false );
371
372 objectClass.setDescription( "meta definition of the SyntaxChecker object" );
373 // set the objectclass type
374 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
375
376 // set superior objectClasses
377 array.clear();
378 array.add( "metaTop" );
379 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
380
381 // set must list
382 array.clear();
383 array.add( "m-fqcn" );
384 objectClass.setMustListIds( array.toArray( EMPTY ) );
385
386 // set may list
387 array.clear();
388 array.add( "m-bytecode" );
389 objectClass.setMayListIds( array.toArray( EMPTY ) );
390
391 // set names
392 array.clear();
393 array.add( "metaSyntaxChecker" );
394 objectClass.setNames( array.toArray( EMPTY ) );
395 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.10", objectClass );
396 // --------------------------------------------------------------------
397 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.11
398 // --------------------------------------------------------------------
399
400 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.11", registries );
401 objectClass.setObsolete( false );
402
403 objectClass.setDescription( "A schema object under which meta schema definitions are found" );
404 // set the objectclass type
405 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
406
407 // set superior objectClasses
408 array.clear();
409 array.add( "top" );
410 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
411
412 // set must list
413 array.clear();
414 array.add( "cn" );
415 objectClass.setMustListIds( array.toArray( EMPTY ) );
416
417 // set may list
418 array.clear();
419 array.add( "m-disabled" );
420 array.add( "m-dependencies" );
421 objectClass.setMayListIds( array.toArray( EMPTY ) );
422
423 // set names
424 array.clear();
425 array.add( "metaSchema" );
426 objectClass.setNames( array.toArray( EMPTY ) );
427 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.11", objectClass );
428 // --------------------------------------------------------------------
429 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.12
430 // --------------------------------------------------------------------
431
432 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.12", registries );
433 objectClass.setObsolete( false );
434
435 objectClass.setDescription( "meta definition of a Normalizer object" );
436 // set the objectclass type
437 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
438
439 // set superior objectClasses
440 array.clear();
441 array.add( "metaTop" );
442 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
443
444 // set must list
445 array.clear();
446 array.add( "m-fqcn" );
447 objectClass.setMustListIds( array.toArray( EMPTY ) );
448
449 // set may list
450 array.clear();
451 array.add( "m-bytecode" );
452 objectClass.setMayListIds( array.toArray( EMPTY ) );
453
454 // set names
455 array.clear();
456 array.add( "metaNormalizer" );
457 objectClass.setNames( array.toArray( EMPTY ) );
458 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.12", objectClass );
459 // --------------------------------------------------------------------
460 // ObjectClass 1.3.6.1.4.1.18060.0.4.0.3.13
461 // --------------------------------------------------------------------
462
463 objectClass = newObjectClass( "1.3.6.1.4.1.18060.0.4.0.3.13", registries );
464 objectClass.setObsolete( false );
465
466 objectClass.setDescription( "meta definition of a Comparator object" );
467 // set the objectclass type
468 objectClass.setType( ObjectClassTypeEnum.STRUCTURAL );
469
470 // set superior objectClasses
471 array.clear();
472 array.add( "metaTop" );
473 objectClass.setSuperClassIds( array.toArray( EMPTY ) );
474
475 // set must list
476 array.clear();
477 array.add( "m-fqcn" );
478 objectClass.setMustListIds( array.toArray( EMPTY ) );
479
480 // set may list
481 array.clear();
482 array.add( "m-bytecode" );
483 objectClass.setMayListIds( array.toArray( EMPTY ) );
484
485 // set names
486 array.clear();
487 array.add( "metaComparator" );
488 objectClass.setNames( array.toArray( EMPTY ) );
489 cb.schemaObjectProduced( this, "1.3.6.1.4.1.18060.0.4.0.3.13", objectClass );
490 }
491 }