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    }