You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by js...@apache.org on 2003/03/07 14:17:54 UTC
cvs commit: jakarta-commons/jelly/src/java/org/apache/commons/jelly JellyContext.java
jstrachan 2003/03/07 05:17:54
Modified: jelly/src/java/org/apache/commons/jelly JellyContext.java
Log:
Allow derived JellyContext implementations to customize the XMLParser implementation used when including Jelly scripts.
This allows custom contexts to configure the parsing, such as to register certain namespaces, to enable validation or to register alternative ExpresionFactory instances
Revision Changes Path
1.42 +10 -2 jakarta-commons/jelly/src/java/org/apache/commons/jelly/JellyContext.java
Index: JellyContext.java
===================================================================
RCS file: /home/cvs/jakarta-commons/jelly/src/java/org/apache/commons/jelly/JellyContext.java,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- JellyContext.java 3 Feb 2003 22:05:23 -0000 1.41
+++ JellyContext.java 7 Mar 2003 13:17:54 -0000 1.42
@@ -455,7 +455,7 @@
* {@link #getResource} method then returns the compiled script.
*/
public Script compileScript(String uri) throws JellyException {
- XMLParser parser = new XMLParser();
+ XMLParser parser = getXMLParser();
parser.setContext(this);
InputStream in = getResourceAsStream(uri);
if (in == null) {
@@ -500,10 +500,18 @@
protected XMLParser getXMLParser() {
XMLParser parser = (XMLParser) parserPool.get();
if (parser == null) {
- parser = new XMLParser();
+ parser = createXMLParser();
parserPool.set(parser);
}
return parser;
+ }
+
+ /**
+ * Factory method to allow JellyContext implementations to overload how an XMLParser
+ * is created - such as to overload what the default ExpressionFactory should be.
+ */
+ protected XMLParser createXMLParser() {
+ return new XMLParser();
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org