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