[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xerces-cvs
Subject:    svn commit: r660095 - in /xerces/java/trunk/src/org/apache/xerces/impl/xs:
From:       mrglavas () apache ! org
Date:       2008-05-26 3:24:37
Message-ID: 20080526032437.7DD6F23889C4 () eris ! apache ! org
[Download RAW message or body]

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic