Author: mrglavas
Date: Sun May 25 20:24:56 2008
New Revision: 660096

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

Modified:
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
    
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java

Modified: 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java?rev=660096&r1=660095&r2=660096&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/SchemaGrammar.java
 Sun May 25 20:24:56 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/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
URL: 
http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java?rev=660096&r1=660095&r2=660096&view=diff
==============================================================================
--- 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
 (original)
+++ 
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
 Sun May 25 20:24:56 2008
@@ -2558,7 +2558,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();
@@ -2575,7 +2575,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;
                     }
                 }
@@ -2598,7 +2598,7 @@
                     }
                 }
                 if (SchemaSymbols.URI_SCHEMAFORSCHEMA.equals(tns)) {
-                    return SchemaGrammar.SG_Schema4Annotations;
+                    return SchemaGrammar.Schema4Annotations.INSTANCE;
                 }
             }
             return null;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to