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 }