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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]