Author: akarasulu
Date: Tue Oct 19 14:23:33 2004
New Revision: 55100

Modified:
   
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/AbstractBootstrapProducer.java
   
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/CoreSyntaxProducer.java
Log:
Finished off abstract bootstrap producer and retrofitted it to 
CoreSyntaxProducer.  Also made lots of minor fixes and name changes within.


Modified: 
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/AbstractBootstrapProducer.java
==============================================================================
--- 
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/AbstractBootstrapProducer.java
  (original)
+++ 
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/AbstractBootstrapProducer.java
  Tue Oct 19 14:23:33 2004
@@ -17,42 +17,57 @@
 package org.apache.eve.schema.bootstrap;
 
 
-import org.apache.ldap.common.schema.AbstractSyntax;
-import org.apache.ldap.common.schema.SyntaxChecker;
-import org.apache.eve.schema.SyntaxCheckerRegistry;
-
 import javax.naming.NamingException;
 
+import org.apache.ldap.common.schema.*;
+import org.apache.eve.schema.SyntaxRegistry;
+import org.apache.eve.schema.MatchingRuleRegistry;
+import org.apache.eve.schema.SyntaxCheckerRegistry;
+import org.apache.eve.schema.AttributeTypeRegistry;
+
 
 /**
- * Document me.
+ * An abstract producer implementation.
  *
  * @author <a href="mailto:[EMAIL PROTECTED]">Apache Directory Project</a>
  * @version $Rev$
  */
 public abstract class AbstractBootstrapProducer implements BootstrapProducer
 {
+    /** the producer type */
     private final ProducerTypeEnum type;
 
 
-    public AbstractBootstrapProducer( ProducerTypeEnum type )
+    /**
+     * Creates a producer of a specific type.
+     *
+     * @param type the producer type
+     */
+    protected AbstractBootstrapProducer( ProducerTypeEnum type )
     {
         this.type = type;
     }
 
 
+    /**
+     * @see BootstrapProducer#getType()
+     */
     public ProducerTypeEnum getType()
     {
         return type;
     }
 
 
-    protected static class MutableSyntax extends AbstractSyntax
+    /**
+     * A mutable Syntax for the bootstrap phase that uses the
+     * syntaxCheckerRegistry to dynamically resolve syntax checkers.
+     */
+    protected static class BootstrapSyntax extends AbstractSyntax
     {
         final SyntaxCheckerRegistry registry;
 
 
-        protected MutableSyntax( String oid, SyntaxCheckerRegistry registry )
+        protected BootstrapSyntax( String oid, SyntaxCheckerRegistry registry )
         {
             super( oid );
             this.registry = registry;
@@ -86,6 +101,118 @@
         public boolean isObsolete()
         {
             return false;
+        }
+    }
+
+
+    /**
+     * A concrete mutable attributeType implementation for bootstrapping which
+     * uses registries for dynamically resolving dependent objects.
+     */
+    protected static class BootstrapAttributeType extends AbstractAttributeType
+    {
+        private final SyntaxRegistry syntaxRegistry;
+        private final MatchingRuleRegistry matchingRuleRegistry;
+        private final AttributeTypeRegistry attributeTypeRegistry;
+        private String superiorId;
+        private String equalityId;
+        private String substrId;
+        private String orderingId;
+        private String syntaxId;
+
+
+        public BootstrapAttributeType( String oid, BootstrapRegistries 
registries )
+        {
+            super( oid );
+
+            syntaxRegistry = registries.getSyntaxRegistry();
+            matchingRuleRegistry = registries.getMatchingRuleRegistry();
+            attributeTypeRegistry = registries.getAttributeTypeRegistry();
+        }
+
+        protected void setSuperiorId( String superiorId )
+        {
+            this.superiorId = superiorId;
+        }
+
+        public AttributeType getSuperior() throws NamingException
+        {
+            return this.attributeTypeRegistry.lookup( superiorId );
+        }
+
+        protected void setNames( String[] names )
+        {
+            super.setNames( names );
+        }
+
+        public MatchingRule getEquality() throws NamingException
+        {
+            return this.matchingRuleRegistry.lookup( equalityId );
+        }
+
+        protected void setEqualityId( String equalityId )
+        {
+            this.equalityId = equalityId;
+        }
+
+        public MatchingRule getSubstr() throws NamingException
+        {
+            return this.matchingRuleRegistry.lookup( substrId ) ;
+        }
+
+        protected void setSubstrId( String substrId )
+        {
+            this.substrId = substrId;
+        }
+
+        public MatchingRule getOrdering() throws NamingException
+        {
+            return this.matchingRuleRegistry.lookup( orderingId );
+        }
+
+        protected void setOrderingId( String orderingId )
+        {
+            this.orderingId = orderingId;
+        }
+
+        protected void setSyntaxId( String syntaxId )
+        {
+            this.syntaxId = syntaxId;
+        }
+
+        public Syntax getSyntax() throws NamingException
+        {
+            return this.syntaxRegistry.lookup( syntaxId );
+        }
+
+        protected void setSingleValue( boolean singleValue )
+        {
+            super.setSingleValue( singleValue );
+        }
+
+        protected void setCollective( boolean collective )
+        {
+            super.setCollective( collective );
+        }
+
+        protected void setCanUserModify( boolean canUserModify )
+        {
+            super.setCanUserModify( canUserModify );
+        }
+
+        protected void setObsolete( boolean obsolete )
+        {
+            super.setObsolete( obsolete );
+        }
+
+        protected void setUsage( UsageEnum usage )
+        {
+            super.setUsage( usage );
+        }
+
+        protected void setLength( int length )
+        {
+            super.setLength( length );
         }
     }
 }

Modified: 
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/CoreSyntaxProducer.java
==============================================================================
--- 
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/CoreSyntaxProducer.java
 (original)
+++ 
incubator/directory/eve/trunk/backend/core/src/java/org/apache/eve/schema/bootstrap/CoreSyntaxProducer.java
 Tue Oct 19 14:23:33 2004
@@ -17,12 +17,10 @@
 package org.apache.eve.schema.bootstrap;
 
 
-import org.apache.ldap.common.schema.AbstractSyntax;
-import org.apache.ldap.common.schema.SyntaxChecker;
-import org.apache.eve.schema.SyntaxCheckerRegistry;
-
 import javax.naming.NamingException;
 
+import org.apache.eve.schema.SyntaxCheckerRegistry;
+
 
 /**
  * A simple Syntax factory for the core LDAP schema in Section 4.3.2 of
@@ -96,24 +94,23 @@
  * @author <a href="mailto:[EMAIL PROTECTED]">Apache Directory Project</a>
  * @version $Rev$
  */
-public class CoreSyntaxProducer implements BootstrapProducer
+public class CoreSyntaxProducer extends AbstractBootstrapProducer
 {
+    public CoreSyntaxProducer()
+    {
+        super( ProducerTypeEnum.SYNTAX_PRODUCER );
+    }
+
 
     // ------------------------------------------------------------------------
     // BootstrapProducer Methods
     // ------------------------------------------------------------------------
 
 
-    public ProducerTypeEnum getType()
-    {
-        return ProducerTypeEnum.SYNTAX_PRODUCER;
-    }
-
-
     public void produce( BootstrapRegistries registries, ProducerCallback cb )
         throws NamingException
     {
-        MutableSyntax syntax;
+        BootstrapSyntax syntax;
         SyntaxCheckerRegistry syntaxCheckerRegistry = 
registries.getSyntaxCheckerRegistry();
 
         /*
@@ -134,52 +131,52 @@
          * 8 Certificate List                N  1.3.6.1.4.1.1466.115.121.1.9
          * 9 Certificate Pair                N  1.3.6.1.4.1.1466.115.121.1.10
          */
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.1", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.1", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "ACI Item" } );
         syntax.setHumanReadible( false );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.2", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.2", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Access Point" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.3", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.3", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Attribute Type Description" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.4", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.4", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Audio" } );
         syntax.setHumanReadible( false );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.5", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.5", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Binary" } );
         syntax.setHumanReadible( false );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.6", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.6", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Bit String" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.7", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.7", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Boolean" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.8", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.8", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Certificate" } );
         syntax.setHumanReadible( false );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.9", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.9", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Certificate List" } );
         syntax.setHumanReadible( false );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.10", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.10", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Certificate Pair" } );
         syntax.setHumanReadible( false );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
@@ -198,52 +195,52 @@
          * 18 DSA Quality Syntax              Y  1.3.6.1.4.1.1466.115.121.1.19
          * 19 DSE Type                        Y  1.3.6.1.4.1.1466.115.121.1.20
          */
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.11", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.11", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Country String" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.12", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.12", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "DN" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.13", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.13", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Data Quality Syntax" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.14", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.14", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Delivery Method" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.15", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.15", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Directory String" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.16", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.16", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "DIT Content Rule Description" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.17", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.17", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "DIT Structure Rule Description" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.18", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.18", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "DL Submit Permission" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.19", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.19", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "DSA Quality Syntax" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.20", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.20", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "DSE Type" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
@@ -262,52 +259,52 @@
          * 28 Master And Shadow Access Points Y  1.3.6.1.4.1.1466.115.121.1.29
          * 29 Matching Rule Description       Y  1.3.6.1.4.1.1466.115.121.1.30
          */
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.21", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.21", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Enhanced Guide" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.22", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.22", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Facsimile Telephone Number" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.23", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.23", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Fax" } );
         syntax.setHumanReadible( false );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.24", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.24", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Generalized Time" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.25", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.25", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Guide" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.26", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.26", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "IA5 String" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.27", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.27", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "INTEGER" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.28", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.28", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "JPEG" } );
         syntax.setHumanReadible( false );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.29", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.29", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Master And Shadow Access Points" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.30", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.30", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Matching Rule Description" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
@@ -326,52 +323,52 @@
          * 38 Other Mailbox                   Y  1.3.6.1.4.1.1466.115.121.1.39
          * 39 Octet String                    Y  1.3.6.1.4.1.1466.115.121.1.40
          */
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.31", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.31", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Matching Rule Use Description" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.32", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.32", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Mail Preference" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.33", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.33", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "MHS OR Address" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.34", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.34", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Name And Optional UID" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.35", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.35", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Name Form Description" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.36", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.36", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Numeric String" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.37", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.37", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Object Class Description" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.38", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.38", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "OID" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.39", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.39", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Other Mailbox" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.40", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.40", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Octet String" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
@@ -390,52 +387,52 @@
          * 48 Supported Algorithm             N  1.3.6.1.4.1.1466.115.121.1.49
          * 49 Telephone Number                Y  1.3.6.1.4.1.1466.115.121.1.50
          */
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.41", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.41", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Postal Address" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.42", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.42", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Protocol Information" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.43", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.43", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Presentation Address" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.44", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.44", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Printable String" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.45", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.45", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Subtree Specification" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.46", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.46", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Supplier Information" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.47", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.47", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Supplier Or Consumer" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.48", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.48", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Supplier And Consumer" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.49", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.49", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Supported Algorithm" } );
         syntax.setHumanReadible( false );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.50", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.50", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Telephone Number" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
@@ -452,87 +449,44 @@
          * 56 LDAP BootstrapSchema Description         Y  
1.3.6.1.4.1.1466.115.121.1.57
          * 57 Substring Assertion             Y  1.3.6.1.4.1.1466.115.121.1.58
          */
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.51", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.51", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Teletex Terminal Identifier" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.52", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.52", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Telex Number" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.53", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.53", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "UTC Time" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.54", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.54", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "LDAP Syntax Description" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.55", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.55", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Modify Rights" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.56", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.56", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "LDAP BootstrapSchema Definition" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.57", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.57", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "LDAP BootstrapSchema Description" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
 
-        syntax = new MutableSyntax( "1.3.6.1.4.1.1466.115.121.1.58", 
syntaxCheckerRegistry );
+        syntax = new BootstrapSyntax( "1.3.6.1.4.1.1466.115.121.1.58", 
syntaxCheckerRegistry );
         syntax.setNames( new String[] { "Substring Assertion" } );
         syntax.setHumanReadible( true );
         cb.schemaObjectProduced( this, syntax.getOid(), syntax );
-    }
-
-
-    /**
-     * Used to access protected mutators of AbstractSyntax from within this 
class.
-     */
-    private static class MutableSyntax extends AbstractSyntax
-    {
-        final SyntaxCheckerRegistry registry;
-
-
-        protected MutableSyntax( String oid, SyntaxCheckerRegistry registry )
-        {
-            super( oid );
-
-            this.registry = registry;
-        }
-
-
-        protected void setHumanReadible( boolean isHumanReadible )
-        {
-            super.setHumanReadible( isHumanReadible );
-        }
-
-
-        protected void setNames( String[] names )
-        {
-            super.setNames( names );
-        }
-
-
-
-
-        public SyntaxChecker getSyntaxChecker( ) throws NamingException
-        {
-            return registry.lookup( getOid() );
-        }
-
-
-        public boolean isObsolete()
-        {
-            return false;
-        }
     }
 }

Reply via email to