You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by dm...@apache.org on 2002/05/09 01:19:31 UTC

cvs commit: jakarta-commons/jxpath/src/java/org/apache/commons/jxpath JXPathContext.java

dmitri      02/05/08 16:19:31

  Modified:    jxpath/src/java/org/apache/commons/jxpath/ri
                        JXPathContextReferenceImpl.java
               jxpath/src/java/org/apache/commons/jxpath JXPathContext.java
  Log:
  "compile" is now a static method
  
  Revision  Changes    Path
  1.17      +5 -5      jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java
  
  Index: JXPathContextReferenceImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- JXPathContextReferenceImpl.java	8 May 2002 23:05:05 -0000	1.16
  +++ JXPathContextReferenceImpl.java	8 May 2002 23:19:31 -0000	1.17
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java,v 1.16 2002/05/08 23:05:05 dmitri Exp $
  - * $Revision: 1.16 $
  - * $Date: 2002/05/08 23:05:05 $
  + * $Header: /home/cvs/jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/ri/JXPathContextReferenceImpl.java,v 1.17 2002/05/08 23:19:31 dmitri Exp $
  + * $Revision: 1.17 $
  + * $Date: 2002/05/08 23:19:31 $
    *
    * ====================================================================
    * The Apache Software License, Version 1.1
  @@ -84,7 +84,7 @@
    * The reference implementation of JXPathContext.
    *
    * @author Dmitri Plotnikov
  - * @version $Revision: 1.16 $ $Date: 2002/05/08 23:05:05 $
  + * @version $Revision: 1.17 $ $Date: 2002/05/08 23:19:31 $
    */
   public class JXPathContextReferenceImpl extends JXPathContext
   {
  @@ -147,7 +147,7 @@
           return nodeFactoryArray;
       }
   
  -    public CompiledExpression compile(String xpath){
  +    protected CompiledExpression compilePath(String xpath){
           return new JXPathCompiledExpression(xpath, compileExpression(xpath));
       }
   
  
  
  
  1.9       +18 -5     jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/JXPathContext.java
  
  Index: JXPathContext.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/JXPathContext.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- JXPathContext.java	8 May 2002 23:05:05 -0000	1.8
  +++ JXPathContext.java	8 May 2002 23:19:31 -0000	1.9
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/JXPathContext.java,v 1.8 2002/05/08 23:05:05 dmitri Exp $
  - * $Revision: 1.8 $
  - * $Date: 2002/05/08 23:05:05 $
  + * $Header: /home/cvs/jakarta-commons/jxpath/src/java/org/apache/commons/jxpath/JXPathContext.java,v 1.9 2002/05/08 23:19:31 dmitri Exp $
  + * $Revision: 1.9 $
  + * $Date: 2002/05/08 23:19:31 $
    *
    * ====================================================================
    * The Apache Software License, Version 1.1
  @@ -404,7 +404,7 @@
    * Also see <a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0 </a>
    *
    * @author Dmitri Plotnikov
  - * @version $Revision: 1.8 $ $Date: 2002/05/08 23:05:05 $
  + * @version $Revision: 1.9 $ $Date: 2002/05/08 23:19:31 $
    */
   public abstract class JXPathContext {
       protected JXPathContext parentContext;
  @@ -415,6 +415,8 @@
       protected Locale locale;
       protected boolean lenient = false;
   
  +    private static JXPathContext compilationContext;
  +
       /**
        * Creates a new JXPathContext with the specified bean as the root node.
        */
  @@ -543,7 +545,18 @@
        * and there is a convenient place to cache CompiledExpression
        * between invocations.
        */
  -    public abstract CompiledExpression compile(String xpath);
  +    public static CompiledExpression compile(String xpath){
  +        if (compilationContext == null){
  +            compilationContext = JXPathContext.newContext(null);
  +        }
  +        return compilationContext.compilePath(xpath);
  +    }
  +
  +    /**
  +     * Overridden by each concrete implementation of JXPathContext
  +     * to perform compilation.
  +     */
  +    protected abstract CompiledExpression compilePath(String xpath);
   
       /**
        * Evaluates the xpath and returns the resulting object. Primitive
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>