001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 *
019 */
020 package org.apache.directory.server.schema.bootstrap;
021
022
023 import javax.naming.NamingException;
024
025 import org.apache.directory.server.schema.registries.Registries;
026 import org.apache.directory.shared.ldap.constants.SchemaConstants;
027 import org.apache.directory.shared.ldap.schema.AbstractSyntax;
028 import org.apache.directory.shared.ldap.schema.SyntaxChecker;
029 import org.apache.directory.shared.ldap.schema.syntaxes.CsnSidSyntaxChecker;
030 import org.apache.directory.shared.ldap.schema.syntaxes.CsnSyntaxChecker;
031 import org.apache.directory.shared.ldap.schema.syntaxes.JavaByteSyntaxChecker;
032 import org.apache.directory.shared.ldap.schema.syntaxes.JavaIntegerSyntaxChecker;
033 import org.apache.directory.shared.ldap.schema.syntaxes.JavaLongSyntaxChecker;
034 import org.apache.directory.shared.ldap.schema.syntaxes.JavaShortSyntaxChecker;
035 import org.apache.directory.shared.ldap.schema.syntaxes.UuidSyntaxChecker;
036
037
038
039 /**
040 * A producer of Syntax objects for the apache schema. This code has been
041 * automatically generated using schema files in the OpenLDAP format along with
042 * the directory plugin for maven. This has been done to facilitate
043 * OpenLDAP schema interoperability.
044 *
045 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
046 * @version $Rev$
047 */
048 public class ApacheSyntaxProducer extends AbstractBootstrapProducer
049 {
050 public ApacheSyntaxProducer()
051 {
052 super( ProducerTypeEnum.SYNTAX_PRODUCER );
053 }
054
055
056 // ------------------------------------------------------------------------
057 // BootstrapProducer Methods
058 // ------------------------------------------------------------------------
059
060
061 /**
062 * @see BootstrapProducer#produce(Registries, ProducerCallback)
063 */
064 public void produce( Registries registries, ProducerCallback cb )
065 throws NamingException
066 {
067 AbstractSyntax syntax = null;
068
069 // A Syntax for Java byte, OID = 1.3.6.1.4.1.18060.0.4.1.0.0
070 syntax = new AbstractSyntax( SchemaConstants.JAVA_BYTE_SYNTAX, "a syntax for java byte values", true )
071 {
072 private static final long serialVersionUID = 1L;
073 private final JavaByteSyntaxChecker JAVA_BYTE_SYNTAX_CHECKER = new JavaByteSyntaxChecker();
074
075 public String getName()
076 {
077 return "JAVA_BYTE";
078 }
079
080 public String[] getNames()
081 {
082 return new String[] { "JAVA_BYTE" };
083 }
084
085 public SyntaxChecker getSyntaxChecker() throws NamingException
086 {
087 return JAVA_BYTE_SYNTAX_CHECKER;
088 }
089 };
090
091 syntax.setSchema( "apache" );
092 cb.schemaObjectProduced( this, syntax.getOid(), syntax );
093
094 // A Syntax for Java char, OID = 1.3.6.1.4.1.18060.0.4.1.0.1
095 // TODO : Define the JavaCharSyntaxChecker
096 /*
097 syntax = new AbstractSyntax( SchemaConstants.JAVA_CHAR_SYNTAX, "a syntax for java char values", true )
098 {
099 private static final long serialVersionUID = 1L;
100 private final JavaByteSyntaxChecker JAVA_CHAR_SYNTAX_CHECKER = new JavaCharSyntaxChecker();
101
102 public String getName()
103 {
104 return "JAVA_CHAR";
105 }
106
107 public String[] getNames()
108 {
109 return new String[] { "JAVA_CHAR" };
110 }
111
112 public SyntaxChecker getSyntaxChecker() throws NamingException
113 {
114 return JAVA_CHAR_SYNTAX_CHECKER;
115 }
116 };
117
118 syntax.setSchema( "apache" );
119 cb.schemaObjectProduced( this, syntax.getOid(), syntax );
120 */
121
122 // A Syntax for Java short, OID = 1.3.6.1.4.1.18060.0.4.1.0.2
123 syntax = new AbstractSyntax( SchemaConstants.JAVA_SHORT_SYNTAX, "a syntax for java short values", true )
124 {
125 private static final long serialVersionUID = 1L;
126 private final JavaShortSyntaxChecker JAVA_SHORT_SYNTAX_CHECKER = new JavaShortSyntaxChecker();
127
128 public String getName()
129 {
130 return "JAVA_SHORT";
131 }
132
133 public String[] getNames()
134 {
135 return new String[] { "JAVA_SHORT" };
136 }
137
138 public SyntaxChecker getSyntaxChecker() throws NamingException
139 {
140 return JAVA_SHORT_SYNTAX_CHECKER;
141 }
142 };
143
144 syntax.setSchema( "apache" );
145 cb.schemaObjectProduced( this, syntax.getOid(), syntax );
146
147 // A Syntax for Java long, OID = 1.3.6.1.4.1.18060.0.4.1.0.3
148 syntax = new AbstractSyntax( SchemaConstants.JAVA_LONG_SYNTAX, "a syntax for java long values", true )
149 {
150 private static final long serialVersionUID = 1L;
151 private final JavaLongSyntaxChecker JAVA_LONG_SYNTAX_CHECKER = new JavaLongSyntaxChecker();
152
153 public String getName()
154 {
155 return "JAVA_LONG";
156 }
157
158 public String[] getNames()
159 {
160 return new String[] { "JAVA_LONG" };
161 }
162
163 public SyntaxChecker getSyntaxChecker() throws NamingException
164 {
165 return JAVA_LONG_SYNTAX_CHECKER;
166 }
167 };
168
169 syntax.setSchema( "apache" );
170 cb.schemaObjectProduced( this, syntax.getOid(), syntax );
171
172 // A Syntax for Java int, OID = 1.3.6.1.4.1.18060.0.4.1.0.4
173 syntax = new AbstractSyntax( SchemaConstants.JAVA_INT_SYNTAX, "a syntax for java int values", true )
174 {
175 private static final long serialVersionUID = 1L;
176 private final JavaIntegerSyntaxChecker JAVA_INT_SYNTAX_CHECKER = new JavaIntegerSyntaxChecker();
177
178 public String getName()
179 {
180 return "JAVA_INT";
181 }
182
183 public String[] getNames()
184 {
185 return new String[] { "JAVA_INT" };
186 }
187
188 public SyntaxChecker getSyntaxChecker() throws NamingException
189 {
190 return JAVA_INT_SYNTAX_CHECKER;
191 }
192 };
193
194 syntax.setSchema( "apache" );
195 cb.schemaObjectProduced( this, syntax.getOid(), syntax );
196
197 // A Syntax for UUID, OID = 1.3.6.1.1.16.1
198 syntax = new AbstractSyntax( SchemaConstants.UUID_SYNTAX, "a syntax for UUID values", false )
199 {
200 private static final long serialVersionUID = 1L;
201 private final UuidSyntaxChecker UUID_SYNTAX_CHECKER = new UuidSyntaxChecker();
202
203 public String getName()
204 {
205 return "UUID";
206 }
207
208 public String[] getNames()
209 {
210 return new String[] { "UUID" };
211 }
212
213 public SyntaxChecker getSyntaxChecker() throws NamingException
214 {
215 return UUID_SYNTAX_CHECKER;
216 }
217 };
218
219 syntax.setSchema( "apache" );
220 cb.schemaObjectProduced( this, syntax.getOid(), syntax );
221
222 // A Syntax for CSN, OID = 1.3.6.1.4.1.4203.666.11.2.1
223 syntax = new AbstractSyntax( SchemaConstants.CSN_SYNTAX, "a syntax for CSN values", true )
224 {
225 private static final long serialVersionUID = 1L;
226 private final CsnSyntaxChecker CSN_SYNTAX_CHECKER = new CsnSyntaxChecker();
227
228 public String getName()
229 {
230 return "CSN";
231 }
232
233 public String[] getNames()
234 {
235 return new String[] { "CSN" };
236 }
237
238 public SyntaxChecker getSyntaxChecker() throws NamingException
239 {
240 return CSN_SYNTAX_CHECKER;
241 }
242 };
243
244 syntax.setSchema( "apache" );
245 cb.schemaObjectProduced( this, syntax.getOid(), syntax );
246
247 // A Syntax for CSNSid, OID = 1.3.6.1.4.1.4203.666.11.2.5
248 syntax = new AbstractSyntax( SchemaConstants.CSN_SID_SYNTAX, "a syntax for CSN SID values", true )
249 {
250 private static final long serialVersionUID = 1L;
251 private final CsnSidSyntaxChecker CSN_SID_SYNTAX_CHECKER = new CsnSidSyntaxChecker();
252
253 public String getName()
254 {
255 return "CSNSid";
256 }
257
258 public String[] getNames()
259 {
260 return new String[] { "CSNSid" };
261 }
262
263 public SyntaxChecker getSyntaxChecker() throws NamingException
264 {
265 return CSN_SID_SYNTAX_CHECKER;
266 }
267 };
268
269 syntax.setSchema( "apache" );
270 cb.schemaObjectProduced( this, syntax.getOid(), syntax );
271 }
272 }