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 inetorgperson 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 InetorgpersonAttributeTypeProducer extends AbstractBootstrapProducer
040    {
041    
042        public InetorgpersonAttributeTypeProducer()
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.16.840.1.113730.3.1.1 
065            // --------------------------------------------------------------------
066    
067            attributeType = newAttributeType( "2.16.840.1.113730.3.1.1", registries );
068            attributeType.setDescription( "RFC2798: vehicle license or registration plate" );
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( "caseIgnoreMatch" );
076            attributeType.setSubstrId( "caseIgnoreSubstringsMatch" );
077            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
078    
079            names.clear();
080            names.add( "carLicense" );
081            attributeType.setNames( names.toArray( EMPTY ) );
082            cb.schemaObjectProduced( this, "2.16.840.1.113730.3.1.1", attributeType );
083    
084            // --------------------------------------------------------------------
085            // AttributeType 2.16.840.1.113730.3.1.2 
086            // --------------------------------------------------------------------
087    
088            attributeType = newAttributeType( "2.16.840.1.113730.3.1.2", registries );
089            attributeType.setDescription( "RFC2798: identifies a department within an organization" );
090            attributeType.setCanUserModify( ! false );
091            attributeType.setSingleValue( false );
092            attributeType.setCollective( false );
093            attributeType.setObsolete( false );
094            attributeType.setLength( 0 );
095            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
096            attributeType.setEqualityId( "caseIgnoreMatch" );
097            attributeType.setSubstrId( "caseIgnoreSubstringsMatch" );
098            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
099    
100            names.clear();
101            names.add( "departmentNumber" );
102            attributeType.setNames( names.toArray( EMPTY ) );
103            cb.schemaObjectProduced( this, "2.16.840.1.113730.3.1.2", attributeType );
104    
105            // --------------------------------------------------------------------
106            // AttributeType 2.16.840.1.113730.3.1.241 
107            // --------------------------------------------------------------------
108    
109            attributeType = newAttributeType( "2.16.840.1.113730.3.1.241", registries );
110            attributeType.setDescription( "RFC2798: preferred name to be used when displaying entries" );
111            attributeType.setCanUserModify( ! false );
112            attributeType.setSingleValue( true );
113            attributeType.setCollective( false );
114            attributeType.setObsolete( false );
115            attributeType.setLength( 0 );
116            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
117            attributeType.setEqualityId( "caseIgnoreMatch" );
118            attributeType.setSubstrId( "caseIgnoreSubstringsMatch" );
119            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
120    
121            names.clear();
122            names.add( "displayName" );
123            attributeType.setNames( names.toArray( EMPTY ) );
124            cb.schemaObjectProduced( this, "2.16.840.1.113730.3.1.241", attributeType );
125    
126            // --------------------------------------------------------------------
127            // AttributeType 2.16.840.1.113730.3.1.3 
128            // --------------------------------------------------------------------
129    
130            attributeType = newAttributeType( "2.16.840.1.113730.3.1.3", registries );
131            attributeType.setDescription( "RFC2798: numerically identifies an employee within an organization" );
132            attributeType.setCanUserModify( ! false );
133            attributeType.setSingleValue( true );
134            attributeType.setCollective( false );
135            attributeType.setObsolete( false );
136            attributeType.setLength( 0 );
137            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
138            attributeType.setEqualityId( "caseIgnoreMatch" );
139            attributeType.setSubstrId( "caseIgnoreSubstringsMatch" );
140            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
141    
142            names.clear();
143            names.add( "employeeNumber" );
144            attributeType.setNames( names.toArray( EMPTY ) );
145            cb.schemaObjectProduced( this, "2.16.840.1.113730.3.1.3", attributeType );
146    
147            // --------------------------------------------------------------------
148            // AttributeType 2.16.840.1.113730.3.1.4 
149            // --------------------------------------------------------------------
150    
151            attributeType = newAttributeType( "2.16.840.1.113730.3.1.4", registries );
152            attributeType.setDescription( "RFC2798: type of employment for a person" );
153            attributeType.setCanUserModify( ! false );
154            attributeType.setSingleValue( false );
155            attributeType.setCollective( false );
156            attributeType.setObsolete( false );
157            attributeType.setLength( 0 );
158            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
159            attributeType.setEqualityId( "caseIgnoreMatch" );
160            attributeType.setSubstrId( "caseIgnoreSubstringsMatch" );
161            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
162    
163            names.clear();
164            names.add( "employeeType" );
165            attributeType.setNames( names.toArray( EMPTY ) );
166            cb.schemaObjectProduced( this, "2.16.840.1.113730.3.1.4", attributeType );
167    
168            // --------------------------------------------------------------------
169            // AttributeType 0.9.2342.19200300.100.1.60 
170            // --------------------------------------------------------------------
171    
172            attributeType = newAttributeType( "0.9.2342.19200300.100.1.60", registries );
173            attributeType.setDescription( "RFC2798: a JPEG image" );
174            attributeType.setCanUserModify( ! false );
175            attributeType.setSingleValue( false );
176            attributeType.setCollective( false );
177            attributeType.setObsolete( false );
178            attributeType.setLength( 0 );
179            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
180            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.28" );
181    
182            names.clear();
183            names.add( "jpegPhoto" );
184            attributeType.setNames( names.toArray( EMPTY ) );
185            cb.schemaObjectProduced( this, "0.9.2342.19200300.100.1.60", attributeType );
186    
187            // --------------------------------------------------------------------
188            // AttributeType 2.16.840.1.113730.3.1.39 
189            // --------------------------------------------------------------------
190    
191            attributeType = newAttributeType( "2.16.840.1.113730.3.1.39", registries );
192            attributeType.setDescription( "RFC2798: preferred written or spoken language for a person" );
193            attributeType.setCanUserModify( ! false );
194            attributeType.setSingleValue( true );
195            attributeType.setCollective( false );
196            attributeType.setObsolete( false );
197            attributeType.setLength( 0 );
198            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
199            attributeType.setEqualityId( "caseIgnoreMatch" );
200            attributeType.setSubstrId( "caseIgnoreSubstringsMatch" );
201            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.15" );
202    
203            names.clear();
204            names.add( "preferredLanguage" );
205            attributeType.setNames( names.toArray( EMPTY ) );
206            cb.schemaObjectProduced( this, "2.16.840.1.113730.3.1.39", attributeType );
207    
208            // --------------------------------------------------------------------
209            // AttributeType 2.16.840.1.113730.3.1.40 
210            // --------------------------------------------------------------------
211    
212            attributeType = newAttributeType( "2.16.840.1.113730.3.1.40", registries );
213            attributeType.setDescription( "RFC2798: PKCS#7 SignedData used to support S/MIME" );
214            attributeType.setCanUserModify( ! false );
215            attributeType.setSingleValue( false );
216            attributeType.setCollective( false );
217            attributeType.setObsolete( false );
218            attributeType.setLength( 0 );
219            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
220            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.5" );
221    
222            names.clear();
223            names.add( "userSMIMECertificate" );
224            attributeType.setNames( names.toArray( EMPTY ) );
225            cb.schemaObjectProduced( this, "2.16.840.1.113730.3.1.40", attributeType );
226    
227            // --------------------------------------------------------------------
228            // AttributeType 2.16.840.1.113730.3.1.216 
229            // --------------------------------------------------------------------
230    
231            attributeType = newAttributeType( "2.16.840.1.113730.3.1.216", registries );
232            attributeType.setDescription( "RFC2798: personal identity information, a PKCS #12 PFX" );
233            attributeType.setCanUserModify( ! false );
234            attributeType.setSingleValue( false );
235            attributeType.setCollective( false );
236            attributeType.setObsolete( false );
237            attributeType.setLength( 0 );
238            attributeType.setUsage( UsageEnum.getUsage( "USER_APPLICATIONS" ) );
239            attributeType.setSyntaxId( "1.3.6.1.4.1.1466.115.121.1.5" );
240    
241            names.clear();
242            names.add( "userPKCS12" );
243            attributeType.setNames( names.toArray( EMPTY ) );
244            cb.schemaObjectProduced( this, "2.16.840.1.113730.3.1.216", attributeType );
245        }
246    }