View Javadoc

1   /*
2    *   Copyright 2004 The Apache Software Foundation
3    *
4    *   Licensed under the Apache License, Version 2.0 (the "License");
5    *   you may not use this file except in compliance with the License.
6    *   You may obtain a copy of the License at
7    *
8    *       http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *   Unless required by applicable law or agreed to in writing, software
11   *   distributed under the License is distributed on an "AS IS" BASIS,
12   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *   See the License for the specific language governing permissions and
14   *   limitations under the License.
15   *
16   */
17  package org.apache.ldap.server.schema.bootstrap;
18  
19  
20  import org.apache.ldap.server.schema.SyntaxCheckerRegistry;
21  
22  import javax.naming.NamingException;
23  
24  
25  /***
26   * A simple Syntax factory for the core LDAP schema in Section 4.3.2 of
27   * <a href="http://www.faqs.org/rfcs/rfc2252.html">RFC2252</a>.
28   * The following table reproduced from RFC2252 shows the syntaxes included
29   * within this SyntaxFactory:
30   * <pre>
31   * Index   Value being represented   H-R     OBJECT IDENTIFIER
32   * =====================================================================
33   * 0 ACI Item                         N  1.3.6.1.4.1.1466.115.121.1.1
34   * 1 Access Point                     Y  1.3.6.1.4.1.1466.115.121.1.2
35   * 2 Attribute Type Description       Y  1.3.6.1.4.1.1466.115.121.1.3
36   * 3 Audio                            N  1.3.6.1.4.1.1466.115.121.1.4
37   * 4 Binary                           N  1.3.6.1.4.1.1466.115.121.1.5
38   * 5 Bit String                       Y  1.3.6.1.4.1.1466.115.121.1.6
39   * 6 Boolean                          Y  1.3.6.1.4.1.1466.115.121.1.7
40   * 7 Certificate                      N  1.3.6.1.4.1.1466.115.121.1.8
41   * 8 Certificate List                 N  1.3.6.1.4.1.1466.115.121.1.9
42   * 9 Certificate Pair                 N  1.3.6.1.4.1.1466.115.121.1.10
43   * 10 Country String                  Y  1.3.6.1.4.1.1466.115.121.1.11
44   * 11 DN                              Y  1.3.6.1.4.1.1466.115.121.1.12
45   * 12 Data Quality Syntax             Y  1.3.6.1.4.1.1466.115.121.1.13
46   * 13 Delivery Method                 Y  1.3.6.1.4.1.1466.115.121.1.14
47   * 14 Directory String                Y  1.3.6.1.4.1.1466.115.121.1.15
48   * 15 DIT Content Rule Description    Y  1.3.6.1.4.1.1466.115.121.1.16
49   * 16 DIT Structure Rule Description  Y  1.3.6.1.4.1.1466.115.121.1.17
50   * 17 DL Submit Permission            Y  1.3.6.1.4.1.1466.115.121.1.18
51   * 18 DSA Quality Syntax              Y  1.3.6.1.4.1.1466.115.121.1.19
52   * 19 DSE Type                        Y  1.3.6.1.4.1.1466.115.121.1.20
53   * 20 Enhanced Guide                  Y  1.3.6.1.4.1.1466.115.121.1.21
54   * 21 Facsimile Telephone Number      Y  1.3.6.1.4.1.1466.115.121.1.22
55   * 22 Fax                             N  1.3.6.1.4.1.1466.115.121.1.23
56   * 23 Generalized Time                Y  1.3.6.1.4.1.1466.115.121.1.24
57   * 24 Guide                           Y  1.3.6.1.4.1.1466.115.121.1.25
58   * 25 IA5 String                      Y  1.3.6.1.4.1.1466.115.121.1.26
59   * 26 INTEGER                         Y  1.3.6.1.4.1.1466.115.121.1.27
60   * 27 JPEG                            N  1.3.6.1.4.1.1466.115.121.1.28
61   * 28 Master And Shadow Access Points Y  1.3.6.1.4.1.1466.115.121.1.29
62   * 29 Matching Rule Description       Y  1.3.6.1.4.1.1466.115.121.1.30
63   * 30 Matching Rule Use Description   Y  1.3.6.1.4.1.1466.115.121.1.31
64   * 31 Mail Preference                 Y  1.3.6.1.4.1.1466.115.121.1.32
65   * 32 MHS OR Address                  Y  1.3.6.1.4.1.1466.115.121.1.33
66   * 33 Name And Optional UID           Y  1.3.6.1.4.1.1466.115.121.1.34
67   * 34 Name Form Description           Y  1.3.6.1.4.1.1466.115.121.1.35
68   * 35 Numeric String                  Y  1.3.6.1.4.1.1466.115.121.1.36
69   * 36 Object Class Description        Y  1.3.6.1.4.1.1466.115.121.1.37
70   * 37 OID                             Y  1.3.6.1.4.1.1466.115.121.1.38
71   * 38 Other Mailbox                   Y  1.3.6.1.4.1.1466.115.121.1.39
72   * 39 Octet String                    Y  1.3.6.1.4.1.1466.115.121.1.40
73   * 40 Postal Address                  Y  1.3.6.1.4.1.1466.115.121.1.41
74   * 41 Protocol Information            Y  1.3.6.1.4.1.1466.115.121.1.42
75   * 42 Presentation Address            Y  1.3.6.1.4.1.1466.115.121.1.43
76   * 43 Printable String                Y  1.3.6.1.4.1.1466.115.121.1.44
77   * 44 Subtree Specification           Y  1.3.6.1.4.1.1466.115.121.1.45
78   * 45 Supplier Information            Y  1.3.6.1.4.1.1466.115.121.1.46
79   * 46 Supplier Or Consumer            Y  1.3.6.1.4.1.1466.115.121.1.47
80   * 47 Supplier And Consumer           Y  1.3.6.1.4.1.1466.115.121.1.48
81   * 48 Supported Algorithm             N  1.3.6.1.4.1.1466.115.121.1.49
82   * 49 Telephone Number                Y  1.3.6.1.4.1.1466.115.121.1.50
83   * 50 Teletex Terminal Identifier     Y  1.3.6.1.4.1.1466.115.121.1.51
84   * 51 Telex Number                    Y  1.3.6.1.4.1.1466.115.121.1.52
85   * 52 UTC Time                        Y  1.3.6.1.4.1.1466.115.121.1.53
86   * 53 LDAP Syntax Description         Y  1.3.6.1.4.1.1466.115.121.1.54
87   * 54 Modify Rights                   Y  1.3.6.1.4.1.1466.115.121.1.55
88   * 55 LDAP Schema Definition          Y  1.3.6.1.4.1.1466.115.121.1.56
89   * 56 LDAP Schema Description         Y  1.3.6.1.4.1.1466.115.121.1.57
90   * 57 Substring Assertion             Y  1.3.6.1.4.1.1466.115.121.1.58
91   * </pre>
92   *
93   *
94   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
95   * @version $Rev: 159259 $
96   */
97  public class SystemSyntaxProducer extends AbstractBootstrapProducer
98  {
99      public SystemSyntaxProducer()
100     {
101         super( ProducerTypeEnum.SYNTAX_PRODUCER );
102     }
103 
104 
105     // ------------------------------------------------------------------------
106     // BootstrapProducer Methods
107     // ------------------------------------------------------------------------
108 
109 
110     public void produce( BootstrapRegistries registries, ProducerCallback cb )
111         throws NamingException
112     {
113         BootstrapSyntax syntax;
114         SyntaxCheckerRegistry syntaxCheckerRegistry = registries.getSyntaxCheckerRegistry();
115 
116         /*
117          * From RFC 2252 Section 4.3.2. on Syntax Object Identifiers
118          */
119 
120         /*
121          * Value being represented        H-R OBJECT IDENTIFIER
122          * ==================================================================
123          * 0 ACI Item                        N  1.3.6.1.4.1.1466.115.121.1.1
124          * 1 Access Point                    Y  1.3.6.1.4.1.1466.115.121.1.2
125          * 2 Attribute Type Description      Y  1.3.6.1.4.1.1466.115.121.1.3
126          * 3 Audio                           N  1.3.6.1.4.1.1466.115.121.1.4
127          * 4 Binary                          N  1.3.6.1.4.1.1466.115.121.1.5
128          * 5 Bit String                      Y  1.3.6.1.4.1.1466.115.121.1.6
129          * 6 Boolean                         Y  1.3.6.1.4.1.1466.115.121.1.7
130          * 7 Certificate                     N  1.3.6.1.4.1.1466.115.121.1.8
131          * 8 Certificate List                N  1.3.6.1.4.1.1466.115.121.1.9
132          * 9 Certificate Pair                N  1.3.6.1.4.1.1466.115.121.1.10
133          */
134         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.1", syntaxCheckerRegistry );
135         syntax.setNames( new String[] { "ACI Item" } );
136         syntax.setHumanReadible( false );
137         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
138 
139         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.2", syntaxCheckerRegistry );
140         syntax.setNames( new String[] { "Access Point" } );
141         syntax.setHumanReadible( true );
142         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
143 
144         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.3", syntaxCheckerRegistry );
145         syntax.setNames( new String[] { "Attribute Type Description" } );
146         syntax.setHumanReadible( true );
147         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
148 
149         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.4", syntaxCheckerRegistry );
150         syntax.setNames( new String[] { "Audio" } );
151         syntax.setHumanReadible( false );
152         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
153 
154         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.5", syntaxCheckerRegistry );
155         syntax.setNames( new String[] { "Binary" } );
156         syntax.setHumanReadible( false );
157         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
158 
159         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.6", syntaxCheckerRegistry );
160         syntax.setNames( new String[] { "Bit String" } );
161         syntax.setHumanReadible( true );
162         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
163 
164         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.7", syntaxCheckerRegistry );
165         syntax.setNames( new String[] { "Boolean" } );
166         syntax.setHumanReadible( true );
167         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
168 
169         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.8", syntaxCheckerRegistry );
170         syntax.setNames( new String[] { "Certificate" } );
171         syntax.setHumanReadible( false );
172         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
173 
174         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.9", syntaxCheckerRegistry );
175         syntax.setNames( new String[] { "Certificate List" } );
176         syntax.setHumanReadible( false );
177         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
178 
179         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.10", syntaxCheckerRegistry );
180         syntax.setNames( new String[] { "Certificate Pair" } );
181         syntax.setHumanReadible( false );
182         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
183 
184         /*
185          * Value being represented        H-R OBJECT IDENTIFIER
186          * ===================================================================
187          * 10 Country String                  Y  1.3.6.1.4.1.1466.115.121.1.11
188          * 11 DN                              Y  1.3.6.1.4.1.1466.115.121.1.12
189          * 12 Data Quality Syntax             Y  1.3.6.1.4.1.1466.115.121.1.13
190          * 13 Delivery Method                 Y  1.3.6.1.4.1.1466.115.121.1.14
191          * 14 Directory String                Y  1.3.6.1.4.1.1466.115.121.1.15
192          * 15 DIT Content Rule Description    Y  1.3.6.1.4.1.1466.115.121.1.16
193          * 16 DIT Structure Rule Description  Y  1.3.6.1.4.1.1466.115.121.1.17
194          * 17 DL Submit Permission            Y  1.3.6.1.4.1.1466.115.121.1.18
195          * 18 DSA Quality Syntax              Y  1.3.6.1.4.1.1466.115.121.1.19
196          * 19 DSE Type                        Y  1.3.6.1.4.1.1466.115.121.1.20
197          */
198         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.11", syntaxCheckerRegistry );
199         syntax.setNames( new String[] { "Country String" } );
200         syntax.setHumanReadible( true );
201         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
202 
203         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.12", syntaxCheckerRegistry );
204         syntax.setNames( new String[] { "DN" } );
205         syntax.setHumanReadible( true );
206         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
207 
208         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.13", syntaxCheckerRegistry );
209         syntax.setNames( new String[] { "Data Quality Syntax" } );
210         syntax.setHumanReadible( true );
211         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
212 
213         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.14", syntaxCheckerRegistry );
214         syntax.setNames( new String[] { "Delivery Method" } );
215         syntax.setHumanReadible( true );
216         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
217 
218         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.15", syntaxCheckerRegistry );
219         syntax.setNames( new String[] { "Directory String" } );
220         syntax.setHumanReadible( true );
221         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
222 
223         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.16", syntaxCheckerRegistry );
224         syntax.setNames( new String[] { "DIT Content Rule Description" } );
225         syntax.setHumanReadible( true );
226         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
227 
228         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.17", syntaxCheckerRegistry );
229         syntax.setNames( new String[] { "DIT Structure Rule Description" } );
230         syntax.setHumanReadible( true );
231         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
232 
233         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.18", syntaxCheckerRegistry );
234         syntax.setNames( new String[] { "DL Submit Permission" } );
235         syntax.setHumanReadible( true );
236         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
237 
238         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.19", syntaxCheckerRegistry );
239         syntax.setNames( new String[] { "DSA Quality Syntax" } );
240         syntax.setHumanReadible( true );
241         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
242 
243         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.20", syntaxCheckerRegistry );
244         syntax.setNames( new String[] { "DSE Type" } );
245         syntax.setHumanReadible( true );
246         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
247 
248         /*
249          * Value being represented        H-R OBJECT IDENTIFIER
250          * ===================================================================
251          * 20 Enhanced Guide                  Y  1.3.6.1.4.1.1466.115.121.1.21
252          * 21 Facsimile Telephone Number      Y  1.3.6.1.4.1.1466.115.121.1.22
253          * 22 Fax                             N  1.3.6.1.4.1.1466.115.121.1.23
254          * 23 Generalized Time                Y  1.3.6.1.4.1.1466.115.121.1.24
255          * 24 Guide                           Y  1.3.6.1.4.1.1466.115.121.1.25
256          * 25 IA5 String                      Y  1.3.6.1.4.1.1466.115.121.1.26
257          * 26 INTEGER                         Y  1.3.6.1.4.1.1466.115.121.1.27
258          * 27 JPEG                            N  1.3.6.1.4.1.1466.115.121.1.28
259          * 28 Master And Shadow Access Points Y  1.3.6.1.4.1.1466.115.121.1.29
260          * 29 Matching Rule Description       Y  1.3.6.1.4.1.1466.115.121.1.30
261          */
262         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.21", syntaxCheckerRegistry );
263         syntax.setNames( new String[] { "Enhanced Guide" } );
264         syntax.setHumanReadible( true );
265         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
266 
267         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.22", syntaxCheckerRegistry );
268         syntax.setNames( new String[] { "Facsimile Telephone Number" } );
269         syntax.setHumanReadible( true );
270         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
271 
272         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.23", syntaxCheckerRegistry );
273         syntax.setNames( new String[] { "Fax" } );
274         syntax.setHumanReadible( false );
275         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
276 
277         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.24", syntaxCheckerRegistry );
278         syntax.setNames( new String[] { "Generalized Time" } );
279         syntax.setHumanReadible( true );
280         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
281 
282         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.25", syntaxCheckerRegistry );
283         syntax.setNames( new String[] { "Guide" } );
284         syntax.setHumanReadible( true );
285         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
286 
287         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.26", syntaxCheckerRegistry );
288         syntax.setNames( new String[] { "IA5 String" } );
289         syntax.setHumanReadible( true );
290         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
291 
292         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.27", syntaxCheckerRegistry );
293         syntax.setNames( new String[] { "INTEGER" } );
294         syntax.setHumanReadible( true );
295         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
296 
297         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.28", syntaxCheckerRegistry );
298         syntax.setNames( new String[] { "JPEG" } );
299         syntax.setHumanReadible( false );
300         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
301 
302         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.29", syntaxCheckerRegistry );
303         syntax.setNames( new String[] { "Master And Shadow Access Points" } );
304         syntax.setHumanReadible( true );
305         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
306 
307         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.30", syntaxCheckerRegistry );
308         syntax.setNames( new String[] { "Matching Rule Description" } );
309         syntax.setHumanReadible( true );
310         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
311 
312         /*
313          * Value being represented        H-R OBJECT IDENTIFIER
314          * ==================================================================
315          * 30 Matching Rule Use Description   Y  1.3.6.1.4.1.1466.115.121.1.31
316          * 31 Mail Preference                 Y  1.3.6.1.4.1.1466.115.121.1.32
317          * 32 MHS OR Address                  Y  1.3.6.1.4.1.1466.115.121.1.33
318          * 33 Name And Optional UID           Y  1.3.6.1.4.1.1466.115.121.1.34
319          * 34 Name Form Description           Y  1.3.6.1.4.1.1466.115.121.1.35
320          * 35 Numeric String                  Y  1.3.6.1.4.1.1466.115.121.1.36
321          * 36 Object Class Description        Y  1.3.6.1.4.1.1466.115.121.1.37
322          * 37 OID                             Y  1.3.6.1.4.1.1466.115.121.1.38
323          * 38 Other Mailbox                   Y  1.3.6.1.4.1.1466.115.121.1.39
324          * 39 Octet String                    Y  1.3.6.1.4.1.1466.115.121.1.40
325          */
326         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.31", syntaxCheckerRegistry );
327         syntax.setNames( new String[] { "Matching Rule Use Description" } );
328         syntax.setHumanReadible( true );
329         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
330 
331         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.32", syntaxCheckerRegistry );
332         syntax.setNames( new String[] { "Mail Preference" } );
333         syntax.setHumanReadible( true );
334         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
335 
336         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.33", syntaxCheckerRegistry );
337         syntax.setNames( new String[] { "MHS OR Address" } );
338         syntax.setHumanReadible( true );
339         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
340 
341         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.34", syntaxCheckerRegistry );
342         syntax.setNames( new String[] { "Name And Optional UID" } );
343         syntax.setHumanReadible( true );
344         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
345 
346         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.35", syntaxCheckerRegistry );
347         syntax.setNames( new String[] { "Name Form Description" } );
348         syntax.setHumanReadible( true );
349         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
350 
351         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.36", syntaxCheckerRegistry );
352         syntax.setNames( new String[] { "Numeric String" } );
353         syntax.setHumanReadible( true );
354         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
355 
356         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.37", syntaxCheckerRegistry );
357         syntax.setNames( new String[] { "Object Class Description" } );
358         syntax.setHumanReadible( true );
359         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
360 
361         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.38", syntaxCheckerRegistry );
362         syntax.setNames( new String[] { "OID" } );
363         syntax.setHumanReadible( true );
364         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
365 
366         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.39", syntaxCheckerRegistry );
367         syntax.setNames( new String[] { "Other Mailbox" } );
368         syntax.setHumanReadible( true );
369         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
370 
371         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.40", syntaxCheckerRegistry );
372         syntax.setNames( new String[] { "Octet String" } );
373         syntax.setHumanReadible( true );
374         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
375 
376         /*
377          * Value being represented        H-R OBJECT IDENTIFIER
378          * ===================================================================
379          * 40 Postal Address                  Y  1.3.6.1.4.1.1466.115.121.1.41
380          * 41 Protocol Information            Y  1.3.6.1.4.1.1466.115.121.1.42
381          * 42 Presentation Address            Y  1.3.6.1.4.1.1466.115.121.1.43
382          * 43 Printable String                Y  1.3.6.1.4.1.1466.115.121.1.44
383          * 44 Subtree Specification           Y  1.3.6.1.4.1.1466.115.121.1.45
384          * 45 Supplier Information            Y  1.3.6.1.4.1.1466.115.121.1.46
385          * 46 Supplier Or Consumer            Y  1.3.6.1.4.1.1466.115.121.1.47
386          * 47 Supplier And Consumer           Y  1.3.6.1.4.1.1466.115.121.1.48
387          * 48 Supported Algorithm             N  1.3.6.1.4.1.1466.115.121.1.49
388          * 49 Telephone Number                Y  1.3.6.1.4.1.1466.115.121.1.50
389          */
390         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.41", syntaxCheckerRegistry );
391         syntax.setNames( new String[] { "Postal Address" } );
392         syntax.setHumanReadible( true );
393         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
394 
395         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.42", syntaxCheckerRegistry );
396         syntax.setNames( new String[] { "Protocol Information" } );
397         syntax.setHumanReadible( true );
398         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
399 
400         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.43", syntaxCheckerRegistry );
401         syntax.setNames( new String[] { "Presentation Address" } );
402         syntax.setHumanReadible( true );
403         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
404 
405         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.44", syntaxCheckerRegistry );
406         syntax.setNames( new String[] { "Printable String" } );
407         syntax.setHumanReadible( true );
408         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
409 
410         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.45", syntaxCheckerRegistry );
411         syntax.setNames( new String[] { "Subtree Specification" } );
412         syntax.setHumanReadible( true );
413         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
414 
415         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.46", syntaxCheckerRegistry );
416         syntax.setNames( new String[] { "Supplier Information" } );
417         syntax.setHumanReadible( true );
418         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
419 
420         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.47", syntaxCheckerRegistry );
421         syntax.setNames( new String[] { "Supplier Or Consumer" } );
422         syntax.setHumanReadible( true );
423         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
424 
425         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.48", syntaxCheckerRegistry );
426         syntax.setNames( new String[] { "Supplier And Consumer" } );
427         syntax.setHumanReadible( true );
428         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
429 
430         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.49", syntaxCheckerRegistry );
431         syntax.setNames( new String[] { "Supported Algorithm" } );
432         syntax.setHumanReadible( false );
433         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
434 
435         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.50", syntaxCheckerRegistry );
436         syntax.setNames( new String[] { "Telephone Number" } );
437         syntax.setHumanReadible( true );
438         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
439 
440         /*
441          * Value being represented        H-R OBJECT IDENTIFIER
442          * ==================================================================
443          * 50 Teletex Terminal Identifier     Y  1.3.6.1.4.1.1466.115.121.1.51
444          * 51 Telex Number                    Y  1.3.6.1.4.1.1466.115.121.1.52
445          * 52 UTC Time                        Y  1.3.6.1.4.1.1466.115.121.1.53
446          * 53 LDAP Syntax Description         Y  1.3.6.1.4.1.1466.115.121.1.54
447          * 54 Modify Rights                   Y  1.3.6.1.4.1.1466.115.121.1.55
448          * 55 LDAP BootstrapSchema Definition          Y  1.3.6.1.4.1.1466.115.121.1.56
449          * 56 LDAP BootstrapSchema Description         Y  1.3.6.1.4.1.1466.115.121.1.57
450          * 57 Substring Assertion             Y  1.3.6.1.4.1.1466.115.121.1.58
451          */
452         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.51", syntaxCheckerRegistry );
453         syntax.setNames( new String[] { "Teletex Terminal Identifier" } );
454         syntax.setHumanReadible( true );
455         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
456 
457         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.52", syntaxCheckerRegistry );
458         syntax.setNames( new String[] { "Telex Number" } );
459         syntax.setHumanReadible( true );
460         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
461 
462         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.53", syntaxCheckerRegistry );
463         syntax.setNames( new String[] { "UTC Time" } );
464         syntax.setHumanReadible( true );
465         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
466 
467         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.54", syntaxCheckerRegistry );
468         syntax.setNames( new String[] { "LDAP Syntax Description" } );
469         syntax.setHumanReadible( true );
470         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
471 
472         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.55", syntaxCheckerRegistry );
473         syntax.setNames( new String[] { "Modify Rights" } );
474         syntax.setHumanReadible( true );
475         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
476 
477         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.56", syntaxCheckerRegistry );
478         syntax.setNames( new String[] { "LDAP BootstrapSchema Definition" } );
479         syntax.setHumanReadible( true );
480         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
481 
482         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.57", syntaxCheckerRegistry );
483         syntax.setNames( new String[] { "LDAP BootstrapSchema Description" } );
484         syntax.setHumanReadible( true );
485         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
486 
487         syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.58", syntaxCheckerRegistry );
488         syntax.setNames( new String[] { "Substring Assertion" } );
489         syntax.setHumanReadible( true );
490         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
491     }
492 }