You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2008/05/26 05:24:37 UTC

svn commit: r660095 - in /xerces/java/trunk/src/org/apache/xerces/impl/xs: SchemaGrammar.java traversers/XSDHandler.java

Author: mrglavas
Date: Sun May 25 20:24:36 2008
New Revision: 660095

URL: http://svn.apache.org/viewvc?rev=660095&view=rev
Log:
Reducing Xerces' static footprint. Only create the Schema4Annotations if it's needed.

Modified:
    xerces/java/trunk/src/org/apache/xerces/impl/xs/SchemaGrammar.java
    xerces/java/trunk/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java

Modified: xerces/java/trunk/src/org/apache/xerces/impl/xs/SchemaGrammar.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/xs/SchemaGrammar.java?rev=660095&r1=660094&r2=660095&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/xs/SchemaGrammar.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/xs/SchemaGrammar.java Sun May 25 20:24:36 2008
@@ -309,12 +309,17 @@
      * @author Michael Glavassevich, IBM
      */
     public static final class Schema4Annotations extends SchemaGrammar {
+        
+        /**
+         * Singleton instance.
+         */
+        public static final Schema4Annotations INSTANCE = new Schema4Annotations();
 
         /**
          * Special constructor to create a schema 
          * capable of validating annotations.
          */
-        public Schema4Annotations() {
+        private Schema4Annotations() {
             
             // target namespace
             fTargetNamespace = SchemaSymbols.URI_SCHEMAFORSCHEMA;
@@ -970,8 +975,6 @@
 
     // the grammars to hold components of the schema namespace
     public final static BuiltinSchemaGrammar SG_SchemaNS = new BuiltinSchemaGrammar(GRAMMAR_XS);
-    
-    public final static Schema4Annotations SG_Schema4Annotations = new Schema4Annotations();
 
     public final static XSSimpleType fAnySimpleType = (XSSimpleType)SG_SchemaNS.getGlobalTypeDecl(SchemaSymbols.ATTVAL_ANYSIMPLETYPE);
 

Modified: xerces/java/trunk/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java?rev=660095&r1=660094&r2=660095&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java Sun May 25 20:24:36 2008
@@ -2556,7 +2556,7 @@
             if (grammarType == XMLGrammarDescription.XML_SCHEMA) {
                 if (fInitialGrammarSet == null) {
                     if (fGrammarBucket == null) {
-                        fInitialGrammarSet = new Grammar [] {SchemaGrammar.SG_Schema4Annotations};
+                        fInitialGrammarSet = new Grammar [] {SchemaGrammar.Schema4Annotations.INSTANCE};
                     }
                     else {
                         SchemaGrammar [] schemaGrammars = fGrammarBucket.getGrammars();
@@ -2573,7 +2573,7 @@
                         }
                         Grammar [] grammars = new Grammar[schemaGrammars.length + 1];
                         System.arraycopy(schemaGrammars, 0, grammars, 0, schemaGrammars.length);
-                        grammars[grammars.length - 1] = SchemaGrammar.SG_Schema4Annotations;
+                        grammars[grammars.length - 1] = SchemaGrammar.Schema4Annotations.INSTANCE;
                         fInitialGrammarSet = grammars;
                     }
                 }
@@ -2596,7 +2596,7 @@
                     }
                 }
                 if (SchemaSymbols.URI_SCHEMAFORSCHEMA.equals(tns)) {
-                    return SchemaGrammar.SG_Schema4Annotations;
+                    return SchemaGrammar.Schema4Annotations.INSTANCE;
                 }
             }
             return null;



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org