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    
027    import org.apache.directory.server.schema.registries.Registries;
028    import org.apache.directory.shared.ldap.schema.UsageEnum;
029    
030    
031    /**
032     * A producer of schema attributeType definations for the system schema.  This
033     * code has been automatically generated using schema files in the OpenLDAP
034     * format along with the directory plugin for maven.  This has been done
035     * to facilitate Eve<->OpenLDAP schema interoperability.
036     *
037     * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
038     */
039    public class SystemAttributeTypeProducer extends AbstractBootstrapProducer
040    {
041    
042        public SystemAttributeTypeProducer()
043        {
044            super( ProducerTypeEnum.ATTRIBUTE_TYPE_PRODUCER );
045        }
046    
047    
048        // ------------------------------------------------------------------------
049        // BootstrapProducer Methods
050        // ------------------------------------------------------------------------
051    
052    
053        /**
054         * @see BootstrapProducer#produce( Registries, ProducerCallback )
055         */
056        public void produce( Registries registries, ProducerCallback cb )
057            throws NamingException
058        {
059            ArrayList<String> names = new ArrayList<String>();
060            BootstrapAttributeType attributeType;
061    
062    
063            // --------------------------------------------------------------------
064            // AttributeType 2.5.4.0 
065            // --------------------------------------------------------------------
066    
067            attributeType = newAttributeType( "2.5.4.0", registries );
068            attributeType.setDescription( "RFC2256: object classes of the entity" );
069            attributeType.setCanUserModify( ! false );
070            attributeType.setSingleValue( false );
071            attributeType.setCollective( false );
072            attributeType.setObsolete( false );
073            attributeType.setLength( 0 );
074            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
075            attributeType.setEqualityId( "objectIdentifierMatch" );
076            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.38" );
077    
078            names.clear();
079            names.add( "objectClass" );
080            attributeType.setNames( names.toArray( EMPTY ) );
081            cb.schemaObjectProduced( this, "2.5.4.0", attributeType );
082    
083            // --------------------------------------------------------------------
084            // AttributeType 2.5.21.9 
085            // --------------------------------------------------------------------
086    
087            attributeType = newAttributeType( "2.5.21.9", registries );
088            attributeType.setDescription( "X.500(93): structural object class of entry" );
089            attributeType.setCanUserModify( ! true );
090            attributeType.setSingleValue( true );
091            attributeType.setCollective( false );
092            attributeType.setObsolete( false );
093            attributeType.setLength( 0 );
094            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
095            attributeType.setEqualityId( "objectIdentifierMatch" );
096            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.38" );
097    
098            names.clear();
099            names.add( "structuralObjectClass" );
100            attributeType.setNames( names.toArray( EMPTY ) );
101            cb.schemaObjectProduced( this, "2.5.21.9", attributeType );
102    
103            // --------------------------------------------------------------------
104            // AttributeType 2.5.18.1 
105            // --------------------------------------------------------------------
106    
107            attributeType = newAttributeType( "2.5.18.1", registries );
108            attributeType.setDescription( "RFC2252: time which object was created" );
109            attributeType.setCanUserModify( ! true );
110            attributeType.setSingleValue( true );
111            attributeType.setCollective( false );
112            attributeType.setObsolete( false );
113            attributeType.setLength( 0 );
114            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
115            attributeType.setEqualityId( "generalizedTimeMatch" );
116            attributeType.setOrderingId( "generalizedTimeOrderingMatch" );
117            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.24" );
118    
119            names.clear();
120            names.add( "createTimestamp" );
121            attributeType.setNames( names.toArray( EMPTY ) );
122            cb.schemaObjectProduced( this, "2.5.18.1", attributeType );
123    
124            // --------------------------------------------------------------------
125            // AttributeType 2.5.18.2 
126            // --------------------------------------------------------------------
127    
128            attributeType = newAttributeType( "2.5.18.2", registries );
129            attributeType.setDescription( "RFC2252: time which object was last modified" );
130            attributeType.setCanUserModify( ! true );
131            attributeType.setSingleValue( true );
132            attributeType.setCollective( false );
133            attributeType.setObsolete( false );
134            attributeType.setLength( 0 );
135            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
136            attributeType.setEqualityId( "generalizedTimeMatch" );
137            attributeType.setOrderingId( "generalizedTimeOrderingMatch" );
138            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.24" );
139    
140            names.clear();
141            names.add( "modifyTimestamp" );
142            attributeType.setNames( names.toArray( EMPTY ) );
143            cb.schemaObjectProduced( this, "2.5.18.2", attributeType );
144    
145            // --------------------------------------------------------------------
146            // AttributeType 2.5.18.3 
147            // --------------------------------------------------------------------
148    
149            attributeType = newAttributeType( "2.5.18.3", registries );
150            attributeType.setDescription( "RFC2252: name of creator" );
151            attributeType.setCanUserModify( ! true );
152            attributeType.setSingleValue( true );
153            attributeType.setCollective( false );
154            attributeType.setObsolete( false );
155            attributeType.setLength( 0 );
156            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
157            attributeType.setEqualityId( "distinguishedNameMatch" );
158            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
159    
160            names.clear();
161            names.add( "creatorsName" );
162            attributeType.setNames( names.toArray( EMPTY ) );
163            cb.schemaObjectProduced( this, "2.5.18.3", attributeType );
164    
165            // --------------------------------------------------------------------
166            // AttributeType 2.5.18.4 
167            // --------------------------------------------------------------------
168    
169            attributeType = newAttributeType( "2.5.18.4", registries );
170            attributeType.setDescription( "RFC2252: name of last modifier" );
171            attributeType.setCanUserModify( ! true );
172            attributeType.setSingleValue( true );
173            attributeType.setCollective( false );
174            attributeType.setObsolete( false );
175            attributeType.setLength( 0 );
176            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
177            attributeType.setEqualityId( "distinguishedNameMatch" );
178            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
179    
180            names.clear();
181            names.add( "modifiersName" );
182            attributeType.setNames( names.toArray( EMPTY ) );
183            cb.schemaObjectProduced( this, "2.5.18.4", attributeType );
184    
185            // --------------------------------------------------------------------
186            // AttributeType 2.5.18.9 
187            // --------------------------------------------------------------------
188    
189            attributeType = newAttributeType( "2.5.18.9", registries );
190            attributeType.setDescription( "X.501: entry has children" );
191            attributeType.setCanUserModify( ! true );
192            attributeType.setSingleValue( true );
193            attributeType.setCollective( false );
194            attributeType.setObsolete( false );
195            attributeType.setLength( 0 );
196            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
197            attributeType.setEqualityId( "booleanMatch" );
198            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.7" );
199    
200            names.clear();
201            names.add( "hasSubordinates" );
202            attributeType.setNames( names.toArray( EMPTY ) );
203            cb.schemaObjectProduced( this, "2.5.18.9", attributeType );
204    
205            // --------------------------------------------------------------------
206            // AttributeType 2.5.18.10 
207            // --------------------------------------------------------------------
208    
209            attributeType = newAttributeType( "2.5.18.10", registries );
210            attributeType.setDescription( "RFC2252: name of controlling subschema entry" );
211            attributeType.setCanUserModify( ! true );
212            attributeType.setSingleValue( true );
213            attributeType.setCollective( false );
214            attributeType.setObsolete( false );
215            attributeType.setLength( 0 );
216            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
217            attributeType.setEqualityId( "distinguishedNameMatch" );
218            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
219    
220            names.clear();
221            names.add( "subschemaSubentry" );
222            attributeType.setNames( names.toArray( EMPTY ) );
223            cb.schemaObjectProduced( this, "2.5.18.10", attributeType );
224    
225            // --------------------------------------------------------------------
226            // AttributeType 2.5.18.12 
227            // --------------------------------------------------------------------
228    
229            attributeType = newAttributeType( "2.5.18.12", registries );
230            attributeType.setCanUserModify( ! true );
231            attributeType.setSingleValue( false );
232            attributeType.setCollective( false );
233            attributeType.setObsolete( false );
234            attributeType.setLength( 0 );
235            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
236            attributeType.setEqualityId( "distinguishedNameMatch" );
237            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
238    
239            names.clear();
240            names.add( "collectiveAttributeSubentries" );
241            attributeType.setNames( names.toArray( EMPTY ) );
242            cb.schemaObjectProduced( this, "2.5.18.12", attributeType );
243    
244            // --------------------------------------------------------------------
245            // AttributeType 2.5.18.7 
246            // --------------------------------------------------------------------
247    
248            attributeType = newAttributeType( "2.5.18.7", registries );
249            attributeType.setCanUserModify( ! false );
250            attributeType.setSingleValue( false );
251            attributeType.setCollective( false );
252            attributeType.setObsolete( false );
253            attributeType.setLength( 0 );
254            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
255            attributeType.setEqualityId( "objectIdentifierMatch" );
256            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.38" );
257    
258            names.clear();
259            names.add( "collectiveExclusions" );
260            attributeType.setNames( names.toArray( EMPTY ) );
261            cb.schemaObjectProduced( this, "2.5.18.7", attributeType );
262    
263            // --------------------------------------------------------------------
264            // AttributeType 1.3.6.1.4.1.1466.101.120.6 
265            // --------------------------------------------------------------------
266    
267            attributeType = newAttributeType( "1.3.6.1.4.1.1466.101.120.6", registries );
268            attributeType.setDescription( "RFC2252: alternative servers" );
269            attributeType.setCanUserModify( ! false );
270            attributeType.setSingleValue( false );
271            attributeType.setCollective( false );
272            attributeType.setObsolete( false );
273            attributeType.setLength( 0 );
274            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
275            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.26" );
276    
277            names.clear();
278            names.add( "altServer" );
279            attributeType.setNames( names.toArray( EMPTY ) );
280            cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.101.120.6", attributeType );
281    
282            // --------------------------------------------------------------------
283            // AttributeType 1.3.6.1.4.1.1466.101.120.5 
284            // --------------------------------------------------------------------
285    
286            attributeType = newAttributeType( "1.3.6.1.4.1.1466.101.120.5", registries );
287            attributeType.setDescription( "RFC2252: naming contexts" );
288            attributeType.setCanUserModify( ! false );
289            attributeType.setSingleValue( false );
290            attributeType.setCollective( false );
291            attributeType.setObsolete( false );
292            attributeType.setLength( 0 );
293            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
294            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
295    
296            names.clear();
297            names.add( "namingContexts" );
298            attributeType.setNames( names.toArray( EMPTY ) );
299            cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.101.120.5", attributeType );
300    
301            // --------------------------------------------------------------------
302            // AttributeType 1.3.6.1.4.1.1466.101.120.13 
303            // --------------------------------------------------------------------
304    
305            attributeType = newAttributeType( "1.3.6.1.4.1.1466.101.120.13", registries );
306            attributeType.setDescription( "RFC2252: supported controls" );
307            attributeType.setCanUserModify( ! false );
308            attributeType.setSingleValue( false );
309            attributeType.setCollective( false );
310            attributeType.setObsolete( false );
311            attributeType.setLength( 0 );
312            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
313            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.38" );
314    
315            names.clear();
316            names.add( "supportedControl" );
317            attributeType.setNames( names.toArray( EMPTY ) );
318            cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.101.120.13", attributeType );
319    
320            // --------------------------------------------------------------------
321            // AttributeType 1.3.6.1.4.1.1466.101.120.7 
322            // --------------------------------------------------------------------
323    
324            attributeType = newAttributeType( "1.3.6.1.4.1.1466.101.120.7", registries );
325            attributeType.setDescription( "RFC2252: supported extended operations" );
326            attributeType.setCanUserModify( ! false );
327            attributeType.setSingleValue( false );
328            attributeType.setCollective( false );
329            attributeType.setObsolete( false );
330            attributeType.setLength( 0 );
331            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
332            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.38" );
333    
334            names.clear();
335            names.add( "supportedExtension" );
336            attributeType.setNames( names.toArray( EMPTY ) );
337            cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.101.120.7", attributeType );
338    
339            // --------------------------------------------------------------------
340            // AttributeType 1.3.6.1.4.1.1466.101.120.15 
341            // --------------------------------------------------------------------
342    
343            attributeType = newAttributeType( "1.3.6.1.4.1.1466.101.120.15", registries );
344            attributeType.setDescription( "RFC2252: supported LDAP versions" );
345            attributeType.setCanUserModify( ! false );
346            attributeType.setSingleValue( false );
347            attributeType.setCollective( false );
348            attributeType.setObsolete( false );
349            attributeType.setLength( 0 );
350            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
351            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.27" );
352    
353            names.clear();
354            names.add( "supportedLDAPVersion" );
355            attributeType.setNames( names.toArray( EMPTY ) );
356            cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.101.120.15", attributeType );
357    
358            // --------------------------------------------------------------------
359            // AttributeType 1.3.6.1.4.1.1466.101.120.14 
360            // --------------------------------------------------------------------
361    
362            attributeType = newAttributeType( "1.3.6.1.4.1.1466.101.120.14", registries );
363            attributeType.setDescription( "RFC2252: supported SASL mechanisms" );
364            attributeType.setCanUserModify( ! false );
365            attributeType.setSingleValue( false );
366            attributeType.setCollective( false );
367            attributeType.setObsolete( false );
368            attributeType.setLength( 0 );
369            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
370            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
371    
372            names.clear();
373            names.add( "supportedSASLMechanisms" );
374            attributeType.setNames( names.toArray( EMPTY ) );
375            cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.101.120.14", attributeType );
376    
377            // --------------------------------------------------------------------
378            // AttributeType 1.3.6.1.1.4 
379            // --------------------------------------------------------------------
380    
381            attributeType = newAttributeType( "1.3.6.1.1.4", registries );
382            attributeType.setDescription( "RFC3045: name of implementation vendor" );
383            attributeType.setCanUserModify( ! true );
384            attributeType.setSingleValue( true );
385            attributeType.setCollective( false );
386            attributeType.setObsolete( false );
387            attributeType.setLength( 0 );
388            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
389            attributeType.setEqualityId( "caseExactMatch" );
390            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
391    
392            names.clear();
393            names.add( "vendorName" );
394            attributeType.setNames( names.toArray( EMPTY ) );
395            cb.schemaObjectProduced( this, "1.3.6.1.1.4", attributeType );
396    
397            // --------------------------------------------------------------------
398            // AttributeType 1.3.6.1.1.5 
399            // --------------------------------------------------------------------
400    
401            attributeType = newAttributeType( "1.3.6.1.1.5", registries );
402            attributeType.setDescription( "RFC3045: version of implementation" );
403            attributeType.setCanUserModify( ! true );
404            attributeType.setSingleValue( true );
405            attributeType.setCollective( false );
406            attributeType.setObsolete( false );
407            attributeType.setLength( 0 );
408            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
409            attributeType.setEqualityId( "caseExactMatch" );
410            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
411    
412            names.clear();
413            names.add( "vendorVersion" );
414            attributeType.setNames( names.toArray( EMPTY ) );
415            cb.schemaObjectProduced( this, "1.3.6.1.1.5", attributeType );
416    
417            // --------------------------------------------------------------------
418            // AttributeType 2.5.18.5 
419            // --------------------------------------------------------------------
420    
421            attributeType = newAttributeType( "2.5.18.5", registries );
422            attributeType.setCanUserModify( ! false );
423            attributeType.setSingleValue( false );
424            attributeType.setCollective( false );
425            attributeType.setObsolete( false );
426            attributeType.setLength( 0 );
427            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
428            attributeType.setEqualityId( "objectIdentifierMatch" );
429            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.38" );
430    
431            names.clear();
432            names.add( "administrativeRole" );
433            attributeType.setNames( names.toArray( EMPTY ) );
434            cb.schemaObjectProduced( this, "2.5.18.5", attributeType );
435    
436            // --------------------------------------------------------------------
437            // AttributeType 2.5.18.6 
438            // --------------------------------------------------------------------
439    
440            attributeType = newAttributeType( "2.5.18.6", registries );
441            attributeType.setCanUserModify( ! false );
442            attributeType.setSingleValue( true );
443            attributeType.setCollective( false );
444            attributeType.setObsolete( false );
445            attributeType.setLength( 0 );
446            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
447            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.45" );
448    
449            names.clear();
450            names.add( "subtreeSpecification" );
451            attributeType.setNames( names.toArray( EMPTY ) );
452            cb.schemaObjectProduced( this, "2.5.18.6", attributeType );
453    
454            // --------------------------------------------------------------------
455            // AttributeType 2.5.21.1 
456            // --------------------------------------------------------------------
457    
458            attributeType = newAttributeType( "2.5.21.1", registries );
459            attributeType.setDescription( "RFC2252: DIT structure rules" );
460            attributeType.setCanUserModify( ! false );
461            attributeType.setSingleValue( false );
462            attributeType.setCollective( false );
463            attributeType.setObsolete( false );
464            attributeType.setLength( 0 );
465            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
466            attributeType.setEqualityId( "integerFirstComponentMatch" );
467            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.17" );
468    
469            names.clear();
470            names.add( "dITStructureRules" );
471            attributeType.setNames( names.toArray( EMPTY ) );
472            cb.schemaObjectProduced( this, "2.5.21.1", attributeType );
473    
474            // --------------------------------------------------------------------
475            // AttributeType 2.5.21.2 
476            // --------------------------------------------------------------------
477    
478            attributeType = newAttributeType( "2.5.21.2", registries );
479            attributeType.setDescription( "RFC2252: DIT content rules" );
480            attributeType.setCanUserModify( ! false );
481            attributeType.setSingleValue( false );
482            attributeType.setCollective( false );
483            attributeType.setObsolete( false );
484            attributeType.setLength( 0 );
485            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
486            attributeType.setEqualityId( "objectIdentifierFirstComponentMatch" );
487            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.16" );
488    
489            names.clear();
490            names.add( "dITContentRules" );
491            attributeType.setNames( names.toArray( EMPTY ) );
492            cb.schemaObjectProduced( this, "2.5.21.2", attributeType );
493    
494            // --------------------------------------------------------------------
495            // AttributeType 2.5.21.4 
496            // --------------------------------------------------------------------
497    
498            attributeType = newAttributeType( "2.5.21.4", registries );
499            attributeType.setDescription( "RFC2252: matching rules" );
500            attributeType.setCanUserModify( ! false );
501            attributeType.setSingleValue( false );
502            attributeType.setCollective( false );
503            attributeType.setObsolete( false );
504            attributeType.setLength( 0 );
505            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
506            attributeType.setEqualityId( "objectIdentifierFirstComponentMatch" );
507            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.30" );
508    
509            names.clear();
510            names.add( "matchingRules" );
511            attributeType.setNames( names.toArray( EMPTY ) );
512            cb.schemaObjectProduced( this, "2.5.21.4", attributeType );
513    
514            // --------------------------------------------------------------------
515            // AttributeType 2.5.21.5 
516            // --------------------------------------------------------------------
517    
518            attributeType = newAttributeType( "2.5.21.5", registries );
519            attributeType.setDescription( "RFC2252: attribute types" );
520            attributeType.setCanUserModify( ! false );
521            attributeType.setSingleValue( false );
522            attributeType.setCollective( false );
523            attributeType.setObsolete( false );
524            attributeType.setLength( 0 );
525            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
526            attributeType.setEqualityId( "objectIdentifierFirstComponentMatch" );
527            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.3" );
528    
529            names.clear();
530            names.add( "attributeTypes" );
531            attributeType.setNames( names.toArray( EMPTY ) );
532            cb.schemaObjectProduced( this, "2.5.21.5", attributeType );
533    
534            // --------------------------------------------------------------------
535            // AttributeType 2.5.21.6 
536            // --------------------------------------------------------------------
537    
538            attributeType = newAttributeType( "2.5.21.6", registries );
539            attributeType.setDescription( "RFC2252: object classes" );
540            attributeType.setCanUserModify( ! false );
541            attributeType.setSingleValue( false );
542            attributeType.setCollective( false );
543            attributeType.setObsolete( false );
544            attributeType.setLength( 0 );
545            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
546            attributeType.setEqualityId( "objectIdentifierFirstComponentMatch" );
547            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.37" );
548    
549            names.clear();
550            names.add( "objectClasses" );
551            attributeType.setNames( names.toArray( EMPTY ) );
552            cb.schemaObjectProduced( this, "2.5.21.6", attributeType );
553    
554            // --------------------------------------------------------------------
555            // AttributeType 2.5.21.7 
556            // --------------------------------------------------------------------
557    
558            attributeType = newAttributeType( "2.5.21.7", registries );
559            attributeType.setDescription( "RFC2252: name forms " );
560            attributeType.setCanUserModify( ! false );
561            attributeType.setSingleValue( false );
562            attributeType.setCollective( false );
563            attributeType.setObsolete( false );
564            attributeType.setLength( 0 );
565            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
566            attributeType.setEqualityId( "objectIdentifierFirstComponentMatch" );
567            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.35" );
568    
569            names.clear();
570            names.add( "nameForms" );
571            attributeType.setNames( names.toArray( EMPTY ) );
572            cb.schemaObjectProduced( this, "2.5.21.7", attributeType );
573    
574            // --------------------------------------------------------------------
575            // AttributeType 2.5.21.8 
576            // --------------------------------------------------------------------
577    
578            attributeType = newAttributeType( "2.5.21.8", registries );
579            attributeType.setDescription( "RFC2252: matching rule uses" );
580            attributeType.setCanUserModify( ! false );
581            attributeType.setSingleValue( false );
582            attributeType.setCollective( false );
583            attributeType.setObsolete( false );
584            attributeType.setLength( 0 );
585            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
586            attributeType.setEqualityId( "objectIdentifierFirstComponentMatch" );
587            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.31" );
588    
589            names.clear();
590            names.add( "matchingRuleUse" );
591            attributeType.setNames( names.toArray( EMPTY ) );
592            cb.schemaObjectProduced( this, "2.5.21.8", attributeType );
593    
594            // --------------------------------------------------------------------
595            // AttributeType 1.3.6.1.4.1.1466.101.120.16 
596            // --------------------------------------------------------------------
597    
598            attributeType = newAttributeType( "1.3.6.1.4.1.1466.101.120.16", registries );
599            attributeType.setDescription( "RFC2252: LDAP syntaxes" );
600            attributeType.setCanUserModify( ! false );
601            attributeType.setSingleValue( false );
602            attributeType.setCollective( false );
603            attributeType.setObsolete( false );
604            attributeType.setLength( 0 );
605            attributeType.setUsage( UsageEnum.getUsage( "DIRECTORY_OPERATION" ) );
606            attributeType.setEqualityId( "objectIdentifierFirstComponentMatch" );
607            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.54" );
608    
609            names.clear();
610            names.add( "ldapSyntaxes" );
611            attributeType.setNames( names.toArray( EMPTY ) );
612            cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.101.120.16", attributeType );
613    
614            // --------------------------------------------------------------------
615            // AttributeType 2.5.4.1 
616            // --------------------------------------------------------------------
617    
618            attributeType = newAttributeType( "2.5.4.1", registries );
619            attributeType.setDescription( "RFC2256: name of aliased object" );
620            attributeType.setCanUserModify( ! false );
621            attributeType.setSingleValue( true );
622            attributeType.setCollective( false );
623            attributeType.setObsolete( false );
624            attributeType.setLength( 0 );
625            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
626            attributeType.setEqualityId( "distinguishedNameMatch" );
627            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
628    
629            names.clear();
630            names.add( "aliasedObjectName" );
631            names.add( "aliasedEntryName" );
632            attributeType.setNames( names.toArray( EMPTY ) );
633            cb.schemaObjectProduced( this, "2.5.4.1", attributeType );
634    
635            // --------------------------------------------------------------------
636            // AttributeType 2.16.840.1.113730.3.1.34 
637            // --------------------------------------------------------------------
638    
639            attributeType = newAttributeType( "2.16.840.1.113730.3.1.34", registries );
640            attributeType.setDescription( "namedref: subordinate referral URL" );
641            attributeType.setCanUserModify( ! false );
642            attributeType.setSingleValue( false );
643            attributeType.setCollective( false );
644            attributeType.setObsolete( false );
645            attributeType.setLength( 0 );
646            attributeType.setUsage( UsageEnum.getUsage( "DISTRIBUTED_OPERATION" ) );
647            attributeType.setEqualityId( "caseExactMatch" );
648            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
649    
650            names.clear();
651            names.add( "ref" );
652            attributeType.setNames( names.toArray( EMPTY ) );
653            cb.schemaObjectProduced( this, "2.16.840.1.113730.3.1.34", attributeType );
654    
655            // --------------------------------------------------------------------
656            // AttributeType 1.3.6.1.4.1.1466.101.119.3 
657            // --------------------------------------------------------------------
658    
659            attributeType = newAttributeType( "1.3.6.1.4.1.1466.101.119.3", registries );
660            attributeType.setDescription( "RFC2589: entry time-to-live" );
661            attributeType.setCanUserModify( ! true );
662            attributeType.setSingleValue( true );
663            attributeType.setCollective( false );
664            attributeType.setObsolete( false );
665            attributeType.setLength( 0 );
666            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
667            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.27" );
668    
669            names.clear();
670            names.add( "entryTtl" );
671            attributeType.setNames( names.toArray( EMPTY ) );
672            cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.101.119.3", attributeType );
673    
674            // --------------------------------------------------------------------
675            // AttributeType 1.3.6.1.4.1.1466.101.119.4 
676            // --------------------------------------------------------------------
677    
678            attributeType = newAttributeType( "1.3.6.1.4.1.1466.101.119.4", registries );
679            attributeType.setDescription( "RFC2589: dynamic subtrees" );
680            attributeType.setCanUserModify( ! true );
681            attributeType.setSingleValue( false );
682            attributeType.setCollective( false );
683            attributeType.setObsolete( false );
684            attributeType.setLength( 0 );
685            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
686            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
687    
688            names.clear();
689            names.add( "dynamicSubtrees" );
690            attributeType.setNames( names.toArray( EMPTY ) );
691            cb.schemaObjectProduced( this, "1.3.6.1.4.1.1466.101.119.4", attributeType );
692    
693            // --------------------------------------------------------------------
694            // AttributeType 2.5.4.49 
695            // --------------------------------------------------------------------
696    
697            attributeType = newAttributeType( "2.5.4.49", registries );
698            attributeType.setDescription( "RFC2256: common supertype of DN attributes" );
699            attributeType.setCanUserModify( ! false );
700            attributeType.setSingleValue( false );
701            attributeType.setCollective( false );
702            attributeType.setObsolete( false );
703            attributeType.setLength( 0 );
704            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
705            attributeType.setEqualityId( "distinguishedNameMatch" );
706            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.12" );
707    
708            names.clear();
709            names.add( "distinguishedName" );
710            attributeType.setNames( names.toArray( EMPTY ) );
711            cb.schemaObjectProduced( this, "2.5.4.49", attributeType );
712    
713            // --------------------------------------------------------------------
714            // AttributeType 2.5.4.41 
715            // --------------------------------------------------------------------
716    
717            attributeType = newAttributeType( "2.5.4.41", registries );
718            attributeType.setDescription( "RFC2256: common supertype of name attributes" );
719            attributeType.setCanUserModify( ! false );
720            attributeType.setSingleValue( false );
721            attributeType.setCollective( false );
722            attributeType.setObsolete( false );
723            attributeType.setLength( 32768 );
724            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
725            attributeType.setEqualityId( "caseIgnoreMatch" );
726            attributeType.setSubstrId( "caseIgnoreSubstringsMatch" );
727            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
728    
729            names.clear();
730            names.add( "name" );
731            attributeType.setNames( names.toArray( EMPTY ) );
732            cb.schemaObjectProduced( this, "2.5.4.41", attributeType );
733    
734            // --------------------------------------------------------------------
735            // AttributeType 2.5.4.3 
736            // --------------------------------------------------------------------
737    
738            attributeType = newAttributeType( "2.5.4.3", registries );
739            attributeType.setDescription( "RFC2256: common name(s) for which the entity is known by" );
740            attributeType.setCanUserModify( ! false );
741            attributeType.setSingleValue( false );
742            attributeType.setCollective( false );
743            attributeType.setObsolete( false );
744            attributeType.setLength( 0 );
745            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
746            attributeType.setSuperiorId( "name" );
747    
748            names.clear();
749            names.add( "cn" );
750            names.add( "commonName" );
751            attributeType.setNames( names.toArray( EMPTY ) );
752            cb.schemaObjectProduced( this, "2.5.4.3", attributeType );
753    
754            // --------------------------------------------------------------------
755            // AttributeType 2.5.4.35 
756            // --------------------------------------------------------------------
757    
758            attributeType = newAttributeType( "2.5.4.35", registries );
759            attributeType.setDescription( "RFC2256/2307: password of user" );
760            attributeType.setCanUserModify( ! false );
761            attributeType.setSingleValue( false );
762            attributeType.setCollective( false );
763            attributeType.setObsolete( false );
764            attributeType.setLength( 128 );
765            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
766            attributeType.setEqualityId( "octetStringMatch" );
767            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.40" );
768    
769            names.clear();
770            names.add( "userPassword" );
771            attributeType.setNames( names.toArray( EMPTY ) );
772            cb.schemaObjectProduced( this, "2.5.4.35", attributeType );
773    
774            // --------------------------------------------------------------------
775            // AttributeType 1.3.6.1.4.1.250.1.57 
776            // --------------------------------------------------------------------
777    
778            attributeType = newAttributeType( "1.3.6.1.4.1.250.1.57", registries );
779            attributeType.setDescription( "RFC2079: Uniform Resource Identifier with optional label" );
780            attributeType.setCanUserModify( ! false );
781            attributeType.setSingleValue( false );
782            attributeType.setCollective( false );
783            attributeType.setObsolete( false );
784            attributeType.setLength( 0 );
785            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
786            attributeType.setEqualityId( "caseExactMatch" );
787            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
788    
789            names.clear();
790            names.add( "labeledURI" );
791            attributeType.setNames( names.toArray( EMPTY ) );
792            cb.schemaObjectProduced( this, "1.3.6.1.4.1.250.1.57", attributeType );
793    
794            // --------------------------------------------------------------------
795            // AttributeType 1.3.6.1.4.1.4203.1.3.5 
796            // --------------------------------------------------------------------
797    
798            attributeType = newAttributeType( "1.3.6.1.4.1.4203.1.3.5", registries );
799            attributeType.setCanUserModify( ! false );
800            attributeType.setSingleValue( false );
801            attributeType.setCollective( false );
802            attributeType.setObsolete( false );
803            attributeType.setLength( 0 );
804            attributeType.setUsage( UsageEnum.getUsage( "DSA_OPERATION" ) );
805            attributeType.setEqualityId( "objectIdentifierMatch" );
806            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.38" );
807    
808            names.clear();
809            names.add( "supportedFeatures" );
810            attributeType.setNames( names.toArray( EMPTY ) );
811            cb.schemaObjectProduced( this, "1.3.6.1.4.1.4203.1.3.5", attributeType );
812        }
813    }